2

使用 Ipython notebook 和 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)

条形图

最后一次迭代的最后只有一个图表。

4

2 回答 2

5

这些图中的每一个都出现在同一个子图上;pandas 在第一次plot调用中创建一个图形,但之后由您创建更多图形和子图。尝试在每个绘图命令之前插入plt.figure()(cf. )。import matplotlib.pyplot as plt

于 2012-05-22T18:55:02.363 回答
0

你不能print绘制对象(或者你可以,但你只看到Axes(...)文本)。

IPython 应该提供一个display()可用的函数,您可以在每个绘图上使用它来显示它。

于 2012-05-22T12:12:45.110 回答