Python

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

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

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

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

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

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

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

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

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

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

データサイエンティストとして3年間で3社経験した僕の転職体験談まとめ

こんにちわ、サトシです。33歳です。 今回は、データサイエンティストの3年間に3社で働いた僕が、データサイエンティストとしての転職活動についてまとめて書きたいと思います。 これまでSE→博士研究員→ポ ...

 

Python/Plotlyの描画手法

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

 

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

 

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

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

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

 

Plotlyのインストール

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

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

 command
pip install plotly

 

基本の描画:go.figureによる描画の意味は?

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

まず、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なのに注意してください!

 

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

データサイエンティスト経験3年の僕がフリーランスとして独立するまでの体験談

こんにちわ、サトシです。 今回は、企業でデータサイエンティストとして働いていた僕が、フリーランスとしてどのような手順で独立していったかについて書いていきたいと思います。 僕はSIer SE→博士過程→ ...

 

最後に

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

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

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

【Udemy】Python/Dash/Plotlyで簡単に機械学習WEBアプリを開発しよう

おすすめ記事

1

こんにちわ、サトシです。33歳です。 今回は、データサイエンティストの3年間に3社で働いた僕が、データサイエンティストとしての転職活動についてまとめて書きたいと思います。 これまでSE→博士研究員→ポ ...

2

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

3

こんにちわ、サトシです。 今回は、企業でデータサイエンティストとして働いていた僕が、フリーランスとしてどのような手順で独立していったかについて書いていきたいと思います。 僕はSIer SE→博士過程→ ...

-Python

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