如何在pandas df.plot()中获取最近绘制的线条的颜色

时间:2017-08-04 08:33:08

标签: python pandas matplotlib 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 个答案:

答案 0 :(得分:3)

您不能对DataFrame.plot执行相同的操作,因为它不会返回Line2D pyplot.plotax.get_lines()对象的列表。但是ax.get_lines()[-1].get_color()将返回轴上绘制的线条列表,以便您可以查看最后绘制的线条的颜色:

private void ExecutePowerShellCommand(string command) { try { Runspace rs = RunspaceFactory.CreateRunspace(); rs.Open(); using (PowerShell ps = PowerShell.Create()) { ps.Runspace = rs; ps.AddCommand(command); var psOutput = ps.Invoke(); LogPSHeader(); foreach (var item in psOutput) { if (item == null) continue; LogPS(item.BaseObject.ToString()); } if (ps.Streams.Error.Count > 0) LogPS("ERROR"); LogPSEnding(); } //rs.Close(); } catch (Exception ex) { Log(ex.ToString()); } }

答案 1 :(得分:0)

请注意(不知道Goyo的回答是否隐含)调用pandas对象' .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