PythonのpylabでFigureをリモート環境に保存する方法
概要
matplotlibのpyplotパッケージが提供するsavefig()メソッドを使えば、保存先のパスを指定するだけで、Figure(グラフ)をリモート環境に保存できます。GUIを持たないサーバーやクラウド環境でグラフを生成・保存したい場合に特に便利な手法です。
手順
別のバックエンドを使用するには、
matplotlib.use('Agg')でバックエンドを明示的に設定します。plot()メソッドを使って線をプロットします。savefig()メソッドを使い、保存先のディレクトリ(パス)を指定するだけで、画像をリモート環境に保存できます。図を画面に表示したい場合は、
plt.show()を使用します。
Aggバックエンドについて
「Agg」は、描画結果を画面に表示しない非対話型(ヘッドレス)バックエンドです。ディスプレイのないサーバー上や、自動化されたスクリプト・CI環境などでmatplotlibを利用する際に推奨される設定です。matplotlib.use('Agg')は、必ずpyplotをインポートする前に呼び出す必要がある点に注意してください。
コード例
import matplotlib
matplotlib.use('Agg')
from matplotlib import pyplot as plt
plt.plot([1, 2, 3])
plt.savefig("remotely_fig.png")出力結果

上記のコードを実行すると、カレントディレクトリに「remotely_fig.png」という名前のPNG画像ファイルが生成されます。
補足:保存先パスの指定
savefig()には絶対パスや相対パスを自由に指定できるため、次のように任意の場所へ保存することも可能です。
plt.savefig("/home/user/figures/remotely_fig.png")また、format="pdf"やdpi=300などの引数を渡せば、出力形式や解像度も柔軟に制御できます。
-
【Python】Matplotlibのplt.show()ウィンドウを最大化する方法
概要Matplotlibでグラフを表示すると、デフォルトでは小さなウィンドウが開きます。plt.get_current_fig_manager() と mng.full_screen_toggle() の2つのメソッドを組み合わせることで、plt.show() で表示されるウィンドウを簡単に最大化(全画面表示)できます。手順subplot() メソッドを使い、現在の図にサブプロットを追加します(nrow=1、ncols=1、index=1)。リスト [1, 2, 3] を渡して pie() メソッドを呼び出し、円グラフを作成します。get_current_fig_manager() メソッドで
-
PythonのopenpyxlでExcelグラフを作成する方法|棒グラフ作成をステップ解説
この記事では、Pythonのopenpyxlモジュールを使ってExcelにグラフを作成する方法を解説します。テニス選手のグランドスラム優勝回数をサンプルデータとして、ゼロからExcelスプレッドシートを作成し、openpyxlで棒グラフを描画するまでの一連の手順を紹介します。 はじめに Microsoft Officeでは、Office 2007以降、より多くの行と列を扱えるようにするため、Excelシートに新しい拡張子「.xlsx」が導入されました。この変更により、ExcelファイルはZIP圧縮されたXMLベースのフォーマットへと移行しています。Microsoftのスプレッドシートは今やビ