代码之家  ›  专栏  ›  技术社区  ›  Peaceful

图例句柄中的圆在matplotlib[duplicate]中不起作用

  •  0
  • Peaceful  · 技术社区  · 7 年前

    我使用的是ubuntu18.04,matplotlib版本是 2.1.1 . 我试图绘制一个圆形补丁作为图形图例句柄。 This example 提供了一种使用自定义句柄的方法,如下所示:

    import matplotlib.patches as mpatches
    import matplotlib.pyplot as plt
    
    red_patch = mpatches.Patch(color='red', label='The red data')
    plt.legend(handles=[red_patch])
    
    plt.show()
    

    但是我想要一个圆形的把手而不是矩形的补丁。所以我试着:

    导入matplotlib.pyplot文件作为plt 导入matplotlib.patches补丁作为伙伴

    fig, ax = plt.subplots(1, 1)
    circle = mpatches.Circle(xy = (0.5, 0.5), radius = 100,color = "green")
    
    ax.plot([1, 2, 3], [1, 2, 3])
    
    fig.legend(handles = [circle], labels = ["some funny label"])
    plt.show()
    

    然而,我仍然得到一个矩形补丁,在我看来,在一个错误的位置。我到底错过了什么?

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  3
  •   SpghttCd    7 年前

    docs 他们的做法如下:

    from matplotlib.lines import Line2D
    import matplotlib.pyplot as plt
    
    red_circle = Line2D([0], [0], marker='o', color='w', label='Circle',
                            markerfacecolor='r', markersize=15),
    plt.legend(handles=red_circle)
    

    enter image description here