保存pandas.Series直方图图到文件

时间:2013-09-24 21:08:19

标签: python pandas histogram

在ipython Notebook中,首先创建一个pandas Series对象,然后通过调用实例方法.hist(),浏览器显示该图。

我想知道如何将此图保存到文件中(我的意思是不是通过右键单击并另存为,而是脚本中需要的命令)。

2 个答案:

答案 0 :(得分:118)

使用Figure.savefig()方法,如下所示:

ax = s.hist()  # s is an instance of Series
fig = ax.get_figure()
fig.savefig('/path/to/figure.pdf')

它不必以pdf结尾,有很多选择。查看the documentation

或者,您可以使用pyplot界面,只需将savefig作为函数调用即可保存最近创建的数字:

import matplotlib.pyplot as plt
s.hist()
plt.savefig('path/to/figure.pdf')  # saves the current figure

答案 1 :(得分:7)

您可以使用ax.figure.savefig()

import pandas as pd

s = pd.Series([0, 1])
ax = s.plot.hist()
ax.figure.savefig('demo-file.pdf')

如Philip Cloud的答案所建议的那样,这与ax.get_figure().savefig()相比并没有实际的好处,因此您可以选择最美观的选项。实际上,get_figure() simply returns self.figure

# Source from snippet linked above
def get_figure(self):
    """Return the `.Figure` instance the artist belongs to."""
    return self.figure