python - 在 matplotlib 的 Canvas 上获取自定义图例

标签 python matplotlib

我使用不同的线条样式在单个 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()

enter image description here

关于python - 在 matplotlib 的 Canvas 上获取自定义图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33014351/

相关文章:

c++ - 如何在大量无损压缩图像中提取重复图像对(完全相同)?如何 std::hash 在内存中?

python - 基于相似性度量 Pandas 删除数据帧行

python - Seaborn:从 distplot 中删除拟合

python - 如何使用 Python 获得直方图中可变 bin 范围的相同 bin 宽度?

python - matplotlib.mplot3d 立方体表面的 basemap

Python:动态定义函数

python - 如何使用python从azure aks获取kubectl配置?

python - python 中的振荡积分

python - "Can only join an iterable" python 错误

python - 修改离散 LinearSegmentedColormap