use*_*827 1 python numpy matplotlib
我想2D NumPy使用line每列的图来绘制一个数组:
import numpy as np
import matplotlib.pyplot as plt
arr = np.random.random((10, 5))
ax.plot(arr)
Run Code Online (Sandbox Code Playgroud)
但是,我不确定如何label为五列中的每一列分配名称。
假设列名称为:a、b、c和d。e
据我所知,没有内置方法可以在一次调用中为每行传递多个不同的标签plot。您可以循环数组中的列并分别绘制每一列:
labels = ['a', 'b', 'c', 'd', 'e']
for column, label in zip(arr.T, labels):
ax.plot(column, label=label)
Run Code Online (Sandbox Code Playgroud)
或者您可以通过显式传递线条对象及其相应的标签来构建图例:
lines = ax.plot(arr)
ax.legend(lines, labels)
Run Code Online (Sandbox Code Playgroud)