首页 > 解决方案 > 在 plt.plot 中使用标签给出一个图例而不是两个不同的图例

问题描述

有问题的图像在同一行显示标签,并且仅针对一个对象。

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

标签: matplotlib

解决方案


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

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()

在此处输入图像描述


推荐阅读