Python 将熊猫系列直方图打印保存到文件

Python 将熊猫系列直方图打印保存到文件,python,pandas,histogram,Python,Pandas,Histogram,在ipython笔记本中,首先创建pandas Series对象,然后通过调用实例方法.hist(),浏览器将显示该图形 我想知道如何将此图保存到文件中(我的意思不是右键单击并另存为,而是脚本中所需的命令)。使用figure.savefig()方法,如下所示: ax = s.hist() # s is an instance of Series fig = ax.get_figure() fig.savefig('/path/to/figure.pdf') 它不必以pdf结尾,有很多选择。退

在ipython笔记本中,首先创建pandas Series对象,然后通过调用实例方法.hist(),浏览器将显示该图形


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

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

ax = s.hist()  # s is an instance of Series
fig = ax.get_figure()
fig.savefig('/path/to/figure.pdf')
它不必以
pdf
结尾,有很多选择。退房

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

import matplotlib.pyplot as plt
s.hist()
plt.savefig('path/to/figure.pdf')  # saves the current figure
从多个列打印
  • 根据2018年5月11日的评论添加
  • 如果出现此错误
    AttributeError:'numpy.ndarray'对象没有属性'get\u figure'
    ,则可能是打印了多个列。
    • 在这种情况下,
      ax
      将是所有轴的数组
ax=s.hist(列=['colA','colB'])
#尝试下列方法之一
图=ax[0]。获取图()
图=ax[0][0]。获取图()
fig.savefig('figure.pdf'))

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

将熊猫作为pd导入
s=pd.系列([0,1])
ax=s.plot.hist()
ax.figure.savefig('demo-file.pdf')
与Philip Cloud的答案中建议的ax.get_figure().savefig()相比,这没有任何实际好处,因此您可以选择您认为最美观的选项。事实上:

#来源于上面链接的代码片段
def get_图(自身):
“”“返回艺术家所属的`.Figure`实例。”“”
回归自我形象

此问题适用于一列的单个绘图。有关如何处理打印多个列的子图,请参见。