在matplotlib图例中操作线型

yuvru6vn  于 11个月前  发布在  其他
关注(0)|答案(3)|浏览(120)

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

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

字符串
所以上面的图例应该显示一条实线。

oxalkeyp

oxalkeyp1#

你可以显式地tellax.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()

字符串
结果是这样的:


的数据

dauxcl2d

dauxcl2d2#

您也可以只向图中添加一个虚拟条目: 

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

字符串
然后将dummy添加到图例中。

4uqofj5v

4uqofj5v3#

leg = plt.legend(loc=0) 
for line in leg.get_lines():
    line.set_linestyle('-')

字符串

相关问题