最小アプリケーション
Dashを使って、最小のアプリケーションを作成します。
作成手順は下記の通りです。
- Dashインスタンスを作成(4行目)
- コンポーネントをlayout属性に設定(6行目)
- アプリケーションを起動(9行目)
[ソースコード]
1 | import dash |
上記ソースを実行すると、コンソールにURLが表示されるのでブラウザで表示します。
[ブラウザで表示]
とても簡単にDashアプリケーションを起動することができました。
Dashを使って、最小のアプリケーションを作成します。
作成手順は下記の通りです。
[ソースコード]
1 | import dash |
上記ソースを実行すると、コンソールにURLが表示されるのでブラウザで表示します。
[ブラウザで表示]
とても簡単にDashアプリケーションを起動することができました。
DashはPythonでデータ分析やレポート作成、モデリングなどを行うアプリケーションの構築ができるWebフレームワークです。
Dashには次のような特徴があり、インタラクティブに可視化できるアプリケーションを容易に作成できます。
また、Dashアプリケーションはサーバやクラウドで共有することができます。
データを可視化し、アプリケーションをすばやく構築し共有することで、さまざまなフィードバックをえたり次のアクションに繋げることが可能です。
GapminderではDashを使ってインタラクティブなアプリケーションを提供しています。
Gapminder - 世界の人口をバブルチャートで表示
[参考サイト]
Dashをインストールするためには、コンソールから下記のコマンドを実行します。
[コンソール]
1 | pip install dash |
次回から、Dashを使って簡単なWebアプリケーションを構築していきます。
メッシュグラフは3次元のデータをドロネー三角分割で算出された図形の面で表現します。
Plotlyでメッシュグラフを表示するにはMesh3dクラスを使用します。
Mesh3dクラスの引数 x、y、zにX値、Y値、Z値を設定します。
[Google Colaboratory]
1 | import numpy as np |
[実行結果]
グラフをドラッグすると、3Dグラフをいろいろな角度で表示することができます。
サーフェスグラフは3次元のデータを面で表現します。
Plotlyでサーフェスグラフを表示するにはSurfaceクラスを使用します。
Surfaceクラスの引数 x、y、zにX値、Y値、Z値を設定します。
Z値はカラースケールで表示されます。
[Google Colaboratory]
1 | import numpy as np |
[実行結果]
グラフをドラッグすると、3Dグラフをいろいろな角度で表示することができます。
Plotlyで3D折れ線グラフを表示するにはScatter3dクラスを使用します。
Scatter3dクラスの引数 x、y、zにX値、Y値、Z値を設定します。(11~13行目)
折れ線グラフとして描画する場合は、引数 modeに“lines”を設定します。(14行目)
以下のコードでは三角関数で生成したデータを3D折れ線グラフで表示しています。
[Google Colaboratory]
1 | import numpy as np |
[実行結果]
グラフをドラッグすると、3Dグラフをいろいろな角度で表示することができます。
Plotlyで3D散布図を表示するにはScatter3dクラスを使用します。
Scatter3dクラスの引数 x、y、zにX値、Y値、Z値を設定します。
散布図として描画する場合は、引数 modeに“markers”を設定します。
またScatterクラスと同様に、要素の色やサイズの大きさで表現することができます。
以下のコードでは5×100の乱数を生成し、それぞれの値(x,y,z)およびサイズ(size)と色(color)で表現した3D散布図を表示しています。
[Google Colaboratory]
1 | import numpy as np |
[実行結果]
グラフをドラッグすると、3Dグラフをいろいろな角度で表示することができます。
mapboxを利用すると、より高精細な地図を表示することができます。
mapboxサイトで事前にアカウントを登録し、アクセストークンを取得しておきましょう。
mapbox - https://www.mapbox.jp/
mapboxを利用するには、layoutのmapbox属性にplotly.objects.layout.Mapboxインスタンスを設定します。
Mapboxクラスの引数は下記の通りです。
下記のコードでは、Scattermapboxクラスを使って、mapboxを利用した散布図を地図上に描画しています。
(Scattergeoと同様の引数を使用することができます。)
[Google Colaboratory]
1 | import numpy as np |
[実行結果]
Plotlyで地図上に折れ線グラフを表示するにはScattergeoクラスを使用します。
Scattergeoクラスの引数は下記の通りです。
以下のコードでは、地図上の各地点を繋いだ折れ線グラフを描画しています。
layoutのgeo.projection属性に辞書型データを設定すると投影法などに変更することができます。(14行目)
[Google Colaboratory]
1 | import plotly.graph_objects as go |
[実行結果]
Plotlyで地図上に散布図を表示するにはScattergeoクラスを使用します。
Scattergeoクラスの引数は下記の通りです。
以下のコードでは、地図上に散布図を描画し、要素のサイズと色で値を表現しています。
[Google Colaboratory]
1 | import numpy as np |
[実行結果]
階級区分図(コロプレスマップ)は、国民所得や人口密度などの統計数値に合わせて色調を塗り分けた地図です。
地域ごとに数値を比較し可視化する際に利用します。
Plotlyで階級区分図を表示するにはChoroplethクラスを使用します。
Choroplethクラスの引数は下記の通りです。
以下のコードではgapminderデータセットのcountry列を位置データとして指定し、lifeExp列の値を階級区分図で表示しています。
[Google Colaboratory]
1 | import plotly |
[実行結果]