AttributeError:“ NoneType”对象在为自定义图例中的每个标签手动分配颜色时没有属性“ legendHandles”

我正在运行三个不同的for循环来分析三个不同的数据集。但是,所有数据都被绘制为一个。另外,我正在尝试为自定义图例分配颜色。这是我的代码:

    for j in green_data:
        x,y = blah.....
        plt.plot(x,y,'g')
    for j in black_data:
        x,'k')
    for j in red_data:
        x,'r')
    ax = plt.gca()
    leg = ax.get_legend()
    leg.legendHandles[0].set_color('green')
    leg.legendHandles[1].set_color('black')
    leg.legendHandles[2].set_color('red')
    plt.legend(['Green data','Black data','Red data'],loc='best')
    plt.xlabel("x data")
    plt.ylabel("y data")        
    plt.show()

当前输出:

AttributeError: 'NoneType' object has no attribute 'legendHandles'

什么导致我的代码中的错误?

zxcvbnmasd1234 回答:AttributeError:“ NoneType”对象在为自定义图例中的每个标签手动分配颜色时没有属性“ legendHandles”

您需要先创建图例。

ax.get_legend()仅在创建图例之后才有效。 尝试使用leg = ax.legend()

https://jakevdp.github.io/PythonDataScienceHandbook/04.06-customizing-legends.html

本文链接:https://www.f2er.com/3128721.html

大家都在问