【Python】Plotlyでインタラクティブなグラフを作る

プログラミング

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

タイトルとURLをコピーしました