2017-08-04 23 views
1

我希望得到我的最后情节的颜色如何获得最新的大熊猫df.plot()绘制线条的颜色

ax = df.plot() 
df2.plot(ax=ax) 
# how to get the color of this last plot, 
#the plot is a single timeseries, there is therefore a single color. 

我知道该怎么做,在matplotlib.pyplot,对于那些有兴趣看到例如here,但我无法找到一种方法来做到这一点在熊猫。在熊猫中有没有像get_color()那样的行为?

+2

尝试'ax.get_lines()[ - 1] .get_color()' – Goyo

+0

@Goyo为什么它是一个评论,而不是一个答案?如果你宣传它,我会将其标记为已接受的答案。 – SirC

+0

因为我是从记忆中写下来的,没有机会去测试它。它为你工作,所以我详细阐述了它的答案。 – Goyo

回答

2

您不能对DataFrame.plot执行相同操作,因为它不返回Line2D对象的列表,因为pyplot.plot会执行此操作。但是,ax.get_lines()将返回行的列表中轴线绘制的,所以你可以看看最后绘制线的颜色:

ax.get_lines()[-1].get_color()

0

通知(不知道这是否是由Goyo回答隐),调用大熊猫对象.plot()精确返回ax你正在寻找,如:

plt1 = pd.Series(range(2)).plot() 
color = plt1.lines[-1].get_color() 
pd.Series(range(2, 4)).plot(color=color) 

enter image description here

这不是更漂亮,但可能一让你避免明确导入matplotlib