在matplotlib图例中操作线型

时间:2018-06-27 04:26:29

标签: python matplotlib

我想在图中包括一个图例,该图例将所有线显示为实线,即使相应的曲线使用linstyle'-'。有

plt.plot(x, y, linestyle='--')
plt.legend(loc=0) 
plt.show()

因此,上图的图例应显示一条实线。

2 个答案:

答案 0 :(得分:2)

您可以明确tell ax.legend显示什么,不显示什么。使用单独的Line2D对象(请参见here),即使绘制的虚线是虚线,也可以使图例中的线变为实线。这是一个工作示例:

from matplotlib import pyplot as plt
from matplotlib.lines import Line2D
import numpy as np


fig, ax = plt.subplots()
x = np.linspace(0,2*np.pi,100)
y = np.sin(x)
ax.plot(x,y,'r--')
line = Line2D([0,1],[0,1],linestyle='-', color='r')

ax.legend([line],['solid line'])

plt.show()

结果看起来像这样:

result of the above code

答案 1 :(得分:0)

您也可以只在情节中添加一个虚拟条目:

dummy, = plt.plot(x[0], y[0], color='black', linestyle='solid')

然后将 dummy 添加到您的图例中。