如何在 pandas python 中显示多个图表

Posted

技术标签:

【中文标题】如何在 pandas python 中显示多个图表【英文标题】:How do I display multiple charts in pandas python 【发布时间】:2012-05-28 16:07:45 【问题描述】:

使用 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)

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

【问题讨论】:

要清楚,我的意思是显示在屏幕上 【参考方案1】:

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

【讨论】:

谢谢韦斯!看到你在 Pycon 的演讲,向我介绍了 pandas,这很整洁。【参考方案2】:

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

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

【讨论】:

以上是关于如何在 pandas python 中显示多个图表的主要内容,如果未能解决你的问题,请参考以下文章

pandas画图-老鱼学pandas

如何使用 Python Pandas 合并多个 CSV 文件

使用其他元素更新 pandas-bokeh 图表

数据可视化干货:使用pandas和seaborn制作炫酷图表(附代码)

如何使用Python Pandas绘制堆叠事件持续时间(Gantt Charts)?

Pandas如何显示全部数据