1. ホーム
  2. python

[解決済み] pandas.Seriesのヒストグラムプロットをファイルに保存する

2022-12-27 10:01:02

質問

ipython Notebookで、まず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

複数の列からのプロット

  • コメントから追加 toto_tico 2018-05-11に作成
  • このエラーが発生した場合 AttributeError: 'numpy.ndarray' object has no attribute 'get_figure' というエラーが出る場合は、複数の列をプロットしている可能性があります。
    • この場合 ax は全ての軸の配列になります。
ax = s.hist(columns=['colA', 'colB'])

# try one of the following
fig = ax[0].get_figure()
fig = ax[0][0].get_figure()

fig.savefig('figure.pdf')