Plotlyでインタラクティブなグラフを作れるので試してみました。
こちらを参考にさせていただきました。
目次
1. 動作環境
OS : Windows7 64bit
python : 3.6.3
plotly : 2.0.12
2.グラフ用のデータ
練習用のデータを用意する。
以下のデータを”mapdata.csv”という名前にして、pythonの実行ファイル(*.py)と同じ場所に保存する。
3. 実際にグラフを作成してみる
先ほどの”mapdata.csv”を使って、グラフを作成するコードを書いてみる。
#データの読み込み import pandas as pd import plotly #データ読み込み raw = pd.read_csv("mapdata.csv") #グラフの初期化 plotly.offline.init_notebook_mode(connected=False) #プロットするデータの指定 data = [ plotly.graph_objs.Scatter(x=raw["name"], y=raw["lifetime"], name="平均寿命"), plotly.graph_objs.Bar(x=raw["name"], y=raw["population"], name="人口", yaxis="y2") ] #グラフレイアウトの指定 layout = plotly.graph_objs.Layout( title="都道府県別平均寿命&人口", legend={"x":0.8, "y":0.9}, #凡例の位置を指定 xaxis={"title":"都道府県名"}, yaxis={"title":"平均寿命[歳]"}, yaxis2={"title":"人口[万人]", "overlaying":"y", "side":"right"}, ) #プロット fig = plotly.graph_objs.Figure(data=data, layout=layout) #plotly.offline.iplot(fig) #Jupyter内で表示したい場合 plotly.offline.plot(fig) #htmlで出力する場合
4.実行結果
“temp-plot.html”というファイルが自動生成されてWebブラウザ上に表示される。
実際のグラフはこんな感じ。