matplotlib获取subp的颜色

2024-09-30 06:13:24 发布

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

我从这里开始学习教程: https://matplotlib.org/gallery/ticks_and_spines/multiple_yaxis_with_spines.html
不过,这个例子是针对一个单独的绘图,我目前正在处理子绘图。 我的版本如下:

    p1 = tr[names['equity']].plot(ax=ax3, linewidth = 0.75)
    axb = ax3.twinx()
    axb.spines["right"].set_position(("axes", 0.5))
    p2 = tr[names[local_rating]].plot(ax=axb, c= 'r', linewidth = 0.75)
    axb.grid(False)
    axb.margins(x=0)
    axc = ax3.twinx()    
    p3 = tr[names['vol']].plot(ax=axc, c = 'g', linewidth = 0.75)
    axc.grid(False)
    axc.margins(x=0)
    ax3.yaxis.label.set_color(p1.get_color())
    axb.yaxis.label.set_color(p2.get_color())
    axc.yaxis.label.set_color(p3.get_color())

当我试着pX.get_颜色()我得到:

AttributeError: 'AxesSubplot' object has no attribute 'get_color'

我的问题是:我应该使用什么方法来恢复子批次的颜色?

我知道我可以手动设置颜色匹配,因为这是一个小数目的指令,但我只是想知道是否有其他方法。在

谢谢


Tags: getnamesplot颜色axlabeltrcolor
1条回答
网友
1楼 · 发布于 2024-09-30 06:13:24

这与子批次无关。您使用的是pandas plotting函数,而不是示例中的matplotlibplot函数。在

斧头确实没有颜色。如果您对轴内线条的颜色感兴趣,可以使用

ax.get_lines()[0].get_color()

获取轴ax中第一行的颜色。在

相关问题 更多 >

    热门问题