5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

plotlyで画像を保存

Last updated at Posted at 2021-03-14

はじめに

plotly を使うと、様々なグラフを描くことができる。今回は plotly にて描画したグラフや表を画像として保存する方法を説明する。実行環境は以下の通り。

  • Windows10 Pro
  • Anaconda 4.9.2

コマンドライン上で行うものはすべて Anaconda Prompt で実行している。Plotlyでレポート・論文に使えるグラフを描こうを参考にした。
(2021/3/15追記)plotly の現在のバージョンでは orca ではなく Kaleido が推奨されているとコメントでいただいたので、そちらを記事後半に追記。

必要なライブラリのインストール

必要に応じて Anaconda にて仮想環境を構築し、以下ライブラリをインストールする。( python, plotly に関しては省略。)

$ conda install pustil
$ conda install -c plotly plotly-orca

psutil の説明は以下の通り。(Google翻訳)

psutil(プロセスおよびシステムユーティリティ)は、 Pythonで実行中のプロセスとシステム使用率(CPU、メモリ、ディスク、ネットワーク、センサー)に関する情報を取得するためのクロスプラットフォームライブラリです。これは、主のために有用であるシステム監視、プロファイリングおよびプロセスのリソース制限や実行中のプロセスの管理を。これは、ps、top、iotop、lsof、netstat、ifconfig、freeなどの従来のUNIXコマンドラインツールによって提供される多くの機能を実装します。psutilは現在、次のプラットフォームをサポートしています。

  • Linux
  • Windows
  • macOS
  • FreeBSD, OpenBSD, NetBSD
  • Sun Solaris
  • AIX

orca の説明は以下の通り。(Google翻訳)

Orcaは、コマンドラインからplotly.jsグラフ、ダッシュアプ​​リ、ダッシュボードなどのPlotlyの画像とレポートを生成するElectronアプリです。さらに、OrcaはPlotlyのImageServerのバックボーンです。Orcaは、オープンソースのReport CreatorAppの頭字語でもあります。

実際に扱ったライブラリのバージョンは以下。
python == 3.9.2
plotly == 4.14.3
plotly-orca == 1.3.1
psutil == 5.8.0

画像を保存

Figure Factory Tables in Python のデータを元に表を作成し、png 形式で保存する。

table.py
import plotly.figure_factory as ff

data_matrix = [['Country', 'Year', 'Population'],
               ['United States', 2000, 282200000],
               ['Canada', 2000, 27790000],
               ['United States', 2005, 295500000],
               ['Canada', 2005, 32310000],
               ['United States', 2010, 309000000],
               ['Canada', 2010, 34000000]]

fig = ff.create_table(data_matrix)
fig.show()

ff.create_table を使うと、簡単にきれいな表を作成することができる。編集などは別記事で後日書く。上記で作成した fig を保存する際は以下コードを実行する。

png.py
fig.write_image('table.png')

上記コードにて、カレントディレクトリ直下に図が保存される。保存するディレクトリを変えたい場合は fig.write_image('figure/table.png') のように、パスまで指定すればよい。

(2021/3/15追記)Kaleido のインストール

orca ではなく、Kaleido での画像保存を試してみた。Static Image Export in Python によると、plotly 4.9 以降は kaleido が推奨されている。今回は plotly 4.14.3 を用いているので、orca ではなく Kaleido を使用してみる。以下コマンドでインストール。

$ conda install -c conda-forge python-kaleido

使い方は基本的には orca と同じで fig.write_image('table.png') で実行できる。デフォルトフォーマットや画像サイズなどの設定は以下のように設定できる。

setting.py
import plotly.io as pio

pio.kaleido.scope.default_format = "jpeg"  # デフォルトは "png"
pio.kaleido.scope.default_width  = 1400    # デフォルトは 700
pio.kaleido.scope.default_height = 1000    # デフォルトは 500

詳細は Static Image Export in PythonGitHub plotly/Kaleido を参照すること。

5
9
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?