Python
 Computer >> コンピューター >  >> プログラミング >> Python

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")

出力結果

PythonのpylabでFigureをリモート環境に保存する方法

上記のコードを実行すると、カレントディレクトリに「remotely_fig.png」という名前のPNG画像ファイルが生成されます。

補足:保存先パスの指定

savefig()には絶対パスや相対パスを自由に指定できるため、次のように任意の場所へ保存することも可能です。

plt.savefig("/home/user/figures/remotely_fig.png")

また、format="pdf"dpi=300などの引数を渡せば、出力形式や解像度も柔軟に制御できます。

  1. 【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() メソッドで

  2. PythonのopenpyxlでExcelグラフを作成する方法|棒グラフ作成をステップ解説

    この記事では、Pythonのopenpyxlモジュールを使ってExcelにグラフを作成する方法を解説します。テニス選手のグランドスラム優勝回数をサンプルデータとして、ゼロからExcelスプレッドシートを作成し、openpyxlで棒グラフを描画するまでの一連の手順を紹介します。 はじめに Microsoft Officeでは、Office 2007以降、より多くの行と列を扱えるようにするため、Excelシートに新しい拡張子「.xlsx」が導入されました。この変更により、ExcelファイルはZIP圧縮されたXMLベースのフォーマットへと移行しています。Microsoftのスプレッドシートは今やビ