使用Ipython笔记本和pandas模块,我有一些代码可以遍历一系列代码并制作一些条形图(或者应该是)。它只生成它应该的最后一个图表。数据是按天和广播节目筹集的资金,我想要每天的图表。我怀疑这可能是一个组合pandas / ipython问题,但我不知道如何处理它。
代码是这样的:
print pledge[pledge.Date==k[0]].groupby('Break')['Amount'].sum().plot(kind='bar')
kcount =0;••••••••••••••••••••
for k, v in grouped.Amount.iteritems():
if k[0] <> kcount:
kcount=k[0]
print k[0];
print pledge[pledge.Date==k[0]].groupby('Break')['Amount'].sum().plot(kind='bar')
我得到的输出是
05/02/2012
Axes(0.125,0.125;0.775x0.775)
05/03/2012
Axes(0.125,0.125;0.775x0.775)
05/04/2012
Axes(0.125,0.125;0.775x0.775)
05/05/2012
Axes(0.125,0.125;0.775x0.775)
05/06/2012
Axes(0.125,0.125;0.775x0.775)
最后一次迭代结尾只有一个图表。
答案 0 :(得分:5)
这些图中的每一个都出现在同一个子图上; pandas在第一个plot
调用中创建了一个数字,但在此之后会留给您创建更多的数字和子图。尝试在每个绘图命令之前插入plt.figure()
(参见import matplotlib.pyplot as plt
)。
答案 1 :(得分:0)
您不能print
绘图对象(或者您可以,但只能看到Axes(...)
文本)。
IPython应该提供一个display()
函数,您可以在每个绘图上使用它来显示它。