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ブラウザ上に表示される。
実際のグラフはこんな感じ。
 
  
  
  
  

