在ipython Notebook中,首先创建一个pandas Series对象,然后通过调用实例方法.hist(),浏览器显示该图。
我想知道如何将此图保存到文件中(我的意思是不是通过右键单击并另存为,而是脚本中需要的命令)。
答案 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