在matplotlib的画布上获取自定义图例

2024-04-26 21:46:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一张画布上画了多个线条图,使用了不同的线条样式。但不知道如何完成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等
非常感谢。你知道吗


Tags: re利用plot画布绘制样式rdax
1条回答
网友
1楼 · 发布于 2024-04-26 21:46:37

如果同时命名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()

enter image description here

相关问题 更多 >