2016-12-28 175 views
0

我有一些代码,会产生一个很好的堆积图和总线,当给一个DataFrame。当我将Anaconda升级到4.0(pandas 0.18,matplotlib 1.5.1)时,总生产线停止生产。我似乎无法弄清楚为什么。结合堆叠酒吧和总线

这是一些最初使用过的测试代码。

import pandas as pd 
from matplotlib import pyplot as plt 

td = pd.util.testing.makeTimeDataFrame(10) 
fig = plt.figure() 
td.plot(kind='bar',stacked=True, ax=fig.gca()) 
plt.plot(td.sum(axis=1),'k-',label = 'Total') 

确实,这只是离开了barplot,但没有添加线。 Stacked bar no Total :(

感谢高级!

+0

它看起来像什么? – piRSquared

回答

2
import pandas as pd 
import matplotlib.pyplot as plt 

td = pd.util.testing.makeTimeDataFrame(10) 
ax = td.plot(kind='bar', stacked=True) 
ax.plot(ax.get_xticks(), td.sum(axis=1), label='Total') 
plt.legend(loc='best') 

enter image description here

大熊猫/ matplotlib似乎不喜欢(略)不同轴/每次操作后索引。如果仅创建条形图,则会注意到该轴默认为日期时间值,而如果只创建折线图,该轴将默认为日期值。这似乎会导致一些潜在的混淆,因此要求您明确使用ax.get_xticks()

+0

谢谢!这会让我忙碌好几天。伟大的教训,总是检查你的轴。 – Stein

相关问题