Python

【Python】Plotlyの描画手法まとめ(Figure, Trace, Layout)

今回はPlotlyという描画ライブラリのPythonでの描画手法について紹介したいと思います!

PlotlyはPlotly社が提供しているライブラリで、Python以外にもRやJavaScriptなどでも使うことができる優れものです。

このPlotlyを使った描画の最大の特徴は、簡単にインタラクティブなグラフを作れるところだと思います。

普通のmatplotlibで作ったグラフだと静的で動きませんが、Plotlyで作ったグラフはマウスでグリグリすると動くのです!

例えば地図プロットを作れば、ズームイン/ズームアウトも容易なのでとても見やすいグラフになります。

まだ使ったことがない方はぜひやってみてほしいです。

ただし、まだ日本語のドキュメントは少ないのが現状ですので、参考書籍はこれくらいしかありません。

興味がある方は読んでみてくださいね。

それでは、Plotlyでどのように描画していくかをやっていきましょう!

 

Python/Plotlyの描画手法

Plotlyで描画をするときにまず理解しておきたいのが以下の3つです。

 

1. Figure → 描画全体
2. Trace → グラフの実体
3. Layout → グラフのレイアウト

 

上に書いてある通り、Figureが描画全体、Traceがグラフの実体、Layoutがグラフレイアウトを表すオブジェクトになります。

この3つを記載(最小限ならFigureだけでもOK)して、描画をしていくことになります。

ただ、これだけではイメージが湧かないと思うので、実際にステップを踏んで描画をしていきましょう!

 

Plotlyのインストール

まずPlotlyのインストールですが、簡単です。

pipでインストールすることができます。

 command
pip install plotly

 

基本の描画 Figure(とTrace)

では一番簡単な描画をしていきましょう!

まず、Figureでグラフ全体の箱を用意して、そのなかにTrace(グラフの実体、ここではgraph_trace)を入れるイメージです。

 

 

x=[1,2,3], y=[4,5,6]のラインプロットを作ることができました!

ただ、これではまだ情報が少ないので、グラフの設定を追加していきます。

これはtraceに情報を追加していくことで実現できます。

 

グラフの実体 Trace

今はまだただのラインプロットなので、色やマークのサイズなどを変えていきたいと思います。

その記述はgo.Scatter()の中にします(今はScatterプロットですが、グラフの種類によって異なる記載になります。)。

今回はmodeをlines+markersとして、ラインに加えてマーカー(点)もつけるようにしてみます。

そして、マーカーのサイズや色も指定します。

 

 

すると、このようにグラフを少し装飾することができました!

こんな暗いでgo.Scatter()の中にたくさん情報を書いていけば、詳細なグラフの設定をすることができます。

 

グラフレイアウト Layout

次はグラフレイアウトをいじっていきます。

先ほどはグラフ自体の設定をしましたが、ここではグラフのレイアウト、つまりタイトルや軸の設定などを行います。

試しに、タイトルとx軸、y軸の設定をしてみましょう!

 

このように辞書型のような形で設定することができます。

しかし、この記載以外にも次のようなコードでも同様のレイアウト設定を行うことができます。

アンダースコアで変数をつなげていくイメージですね。

 

 

グラフ設定の追加 add_trace

ここまでで基本的なグラフ作成はOKなのですが、一応グラフの設定を追加する方法とレイアウトを追加する方法を紹介しておきます。

まず、このようなグラフがあったとします(上のグラフを同様です)。

 

 

次に、このグラフにadd_traceして棒グラフを追加してみましょう。

add_graphを作成して、figureにadd_traceします。

簡単に棒グラフを追加できました!

 

 

 

レイアウトの追加 update_layout

ではグラフ同様にレイアウトも追加しましょう!

このようなグラフがあります(先と同様)。

 

 

ここにタイトルや軸の設定を加えていきます!

レイアウトの更新はupdate_layoutで可能です。

グラフと違ってaddではなくupdateなのに注意してください!

 

これでタイトルや軸などの設定を追加することができました!

 

最後に

このようにplotlyではfigure, trace, layoutを使ってインタラクティブなグラフを描くことができます!

ただ、plotly expressという上位互換ライブラリがあるので、そちらでの描画もおすすめです。

また、もっとちゃんと勉強したい方はUdemyにも講座がありますので、よければ見てみてください!

おすすめ記事

1

お疲れさまです! 久しぶりの更新になってしまいましたが、僕が未経験からデータサイエンティストになるまでの転職活動の全記録を書き残しておきたいと思います。 僕は博士号を取得後に研究員として仕事をしていま ...

2

こんにちわ、さとしです! 気がつけばこのデータサイエンティスト転職から、1年が経とうとしています。 今はご時世的に外にも出られず、変化があまりない生活を送ったせいもあってか、なんかあっという間に1年が ...

3

データサイエンティストに転職して1年が経ち、いろいろな業務を経験させてもらいつつ、自分でもある程度本を読んできました。 仕事の話は下記の記事で書きましたが、自分で読んだ本については書いていないのでこの ...

-Python

Copyright© さとぶろぐ , 2021 All Rights Reserved Powered by AFFINGER5.