Python plotlyを用いてSankey Diagram(サンキーダイアグラム)を作成する
Sankey Diagram(サンキーダイアグラム)
このダイアグラム、お金の流れや、エネルギーの流れなどでよく目にしますが、
Sankey Diagram(サンキーダイアグラム)と言うそうです。
Sankey Diagram(サンキー・ダイアグラム)は工程間の流量を表現する図表です。
矢印の太さで流れの量を表し、特にエネルギーや物資、経費等の変位を表す為に使われます。
Sankeyの名前の由来は1898年に初めてこの形式の表を用いた蒸気機関におけるエネルギー効率についての記事の著者であるアイルランド人M.H.サンキーに因む。
出典: サンキー ダイアグラム - Wikipedia
ベーシックなSankey Diagramを作成する
plotlyのウェブサイトを参考に、
Sankey Diagramを作ってみました。
コードの例は下に載せておきます。
#plotlyをofflineで呼び出して import plotly.plotly as py import plotly.offline as offline offline.init_notebook_mode(connected=False) data = dict( type='sankey', node = dict( pad = 15, thickness = 20, line = dict( color = "black", width = 0.5 ), label = ["い", "ろ", "は", "に", "ほ", "へ"], #各nodeを作成 color = ["blue", "blue", "green", "green", "yellow", "yellow"] #色を指定します。 ), link = dict( source = [0,1,1,0,2,3,3], #sourceは出発元のnode target = [2,2,3,3,4,4,5], #targetは到着先のnode value = [8,1,3,2,9,3,2] #流量 )) layout = dict( title = "Sankey Diagram はじめました", font = dict( size = 10 ) ) fig = dict(data=[data], layout=layout) offline.plot(fig, validate=False)