Matplotlib 在plt.plot中使用标签会给出一个图例,而不是两个不同的图例

Matplotlib 在plt.plot中使用标签会给出一个图例,而不是两个不同的图例,matplotlib,Matplotlib,这是在同一行中仅为一个对象显示标签 label=["Training Data","Linear Regression"] plt.plot(X[:,1],X.dot(theta),label=label) plt.legend() plt.show() 是的,这是意料之中的。如果需要每条线都有自己的标签,则需要分别打印它们,或创建自定义图例。后者可能如下所示: import matplotlib.pyplot as plt import numpy as np X = np.random.

这是在同一行中仅为一个对象显示标签

label=["Training Data","Linear Regression"]
plt.plot(X[:,1],X.dot(theta),label=label)
plt.legend()
plt.show()

是的,这是意料之中的。如果需要每条线都有自己的标签,则需要分别打印它们,或创建自定义图例。后者可能如下所示:

import matplotlib.pyplot as plt
import numpy as np

X = np.random.randn(20,2)
theta = np.random.rand(2,2)

label=["Training Data","Linear Regression"]

lines = plt.plot(X[:,1], X.dot(theta))
plt.legend(lines, label)
plt.show()

。。在这种情况下,数据只包含一行。如果是这样的话,将列表作为标签传递可能没有太多意义。