为 NumPy 2D 数组中的线图指定标签名称

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为五列中的每一列分配名称。

假设列名称为:abcde

ali*_*i_m 5

据我所知,没有内置方法可以在一次调用中为每行传递多个不同的标签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)