我使用不同的线条样式在单个 Canvas 上绘制了多线图。但不知道如何完成图例
。
我用来绘制的线如下:
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 等
谢谢。
最佳答案
如果您还命名了 plot
返回的 Line2D
对象,则可以在调用 legend
期间分配标签。
这是一个简单的 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()
关于python - 在 matplotlib 的 Canvas 上获取自定义图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33014351/