首页 > 解决方案 > 使用 matplotlib 垂直绘制图,其中数组中的每一行都是一条线

问题描述

我有一个数据集,一个偶数 numpy 数组,其中每一行代表一行:

matrix = np.random.rand(10,10)

最终,我想要这样的图表:

图片

我以前在 R 中做过。但我无法让它在 Python 中工作。我对Python还不是很精通,这次不得不使用它。

我只是用以下方式绘制:

plt.plot(matrix)

这导致了一个很好的起点:

图片2

我的第一步是翻转 x 和 y 轴,但绘图函数需要 x_vals 和 y_vals,而我的数组没有。只有价值观。我如何(对于初学者)交换 x 轴和 y 轴,以便将数组中的每一行绘制为单独的垂直线,如上图所示?

标签: pythonmatplotlib

解决方案


如果您不提供x值,matplotlib将只使用一个范围。

尝试:

import numpy as np
import matplotlib.pyplot as plt

matrix = np.random.rand(10,10)
x_vals = np.arange(10)
for y_vals in matrix:
    plt.plot(y_vals, x_vals)

plt.show()

推荐阅读