我在单个画布上绘制了多行图,使用了不同的线条样式。但不确定如何完成legend
我用来绘制的线条如下:
ax.plot(x_ra,y_ra,'g^-', x_rb,y_rb,'b-', x_rc,y_rc,'y^--', x_rd,y_rd,'^-', x_re,y_re,'b^-.', x_rf,y_rf,'--')
现在我可以利用一些想法如何获得一个类似的传奇盒子:
g^-
- A
b-
- B
y^--
- D等
谢谢。
答案 0 :(得分:1)
如果您还为legend
返回的Line2D
对象命名,则可以在调用plot
期间指定标签。
这是一个简单的MWE:
import matplotlib.pyplot as plt
import numpy as np
x_ra,y_ra = np.arange(0,10,1),np.arange(0,10,1)
x_rb,y_rb = np.arange(0,10,1),np.arange(1,11,1)
x_rc,y_rc = np.arange(0,10,1),np.arange(2,12,1)
x_rd,y_rd = np.arange(0,10,1),np.arange(3,13,1)
x_re,y_re = np.arange(0,10,1),np.arange(4,14,1)
x_rf,y_rf = np.arange(0,10,1),np.arange(5,15,1)
fig,ax = plt.subplots(1)
mylines = ax.plot(
x_ra,y_ra,'g^-',
x_rb,y_rb,'b-',
x_rc,y_rc,'y^--',
x_rd,y_rd,'^-',
x_re,y_re,'b^-.',
x_rf,y_rf,'--'
)
ax.legend(mylines,['A','B','C','D','E','F'],loc=0)
plt.show()