d3.jsを直接的に使うモジュールが http://bl.ocks.org/Neilos/584b9a5d44d5fe00f779 にある。
それで試してみたのが
http://8tops.yamanashi.ac.jp/~toyoki/verga/sankey/
スケールを適当に変えてしまうところを固定したいが、できていない。
from ipysankeywidget import SankeyWidget
links = [
{'source': '総合受付', 'target': '温泉', 'value': 150, 'type':'x', 'opacity':0.5},
{'source': '総合受付', 'target': 'キャンプ場', 'value': 100, 'type':'x', 'opacity':0.5},
{'source': 'キャンプ場', 'target': '総合受付', 'value': 20, 'type':'y'},
{'source': 'キャンプ場', 'target': '温泉', 'value': 30, 'type':'y'},
{'source': '温泉', 'target': '総合受付', 'value': 200, 'type':'z'},
{'source': '温泉', 'target': 'キャンプ場', 'value': 50, 'type':'z'}
]
nodes = [{'type': '総合受付', 'id': '総合受付', 'name':'総合受付', 'direction': 'r'}, {'id': 'キャンプ場', 'name':"キャンプ場", 'direction': 'l'},
{'id': '温泉', 'name':'温泉', 'direction': 'l'}]
# orderはうまく行かない
order = [[[],['総合受付'],[]],
[['キャンプ場'],[],[],],
[[],['温泉'],[]]]
from ipywidgets import Layout
layout = Layout(width="500", height="400")
# SankeyWidget(links=links,nodes=nodes, order=order, layout=layout)
SankeyWidget(links=links,nodes=nodes, layout=layout)
links = [
{'source': '総合受付', 'target': '温泉', 'value': 150, 'type':'x', 'opacity':0.5},
{'source': '総合受付', 'target': '温泉', 'value': 100, 'type':'y', 'opacity':0.5},
{'source': 'キャンプ場', 'target': '総合受付', 'value': 20, 'type':'x'},
{'source': 'キャンプ場', 'target': '総合受付', 'value': 30, 'type':'y'},
{'source': '温泉', 'target': 'キャンプ場', 'value': 30, 'type':'x'},
{'source': '温泉', 'target': 'キャンプ場', 'value': 50, 'type':'y'}
]
nodes = [{'type': '総合受付', 'id': '総合受付', 'name':'総合受付', 'direction': 'l'},
{'id': 'キャンプ場', 'name':"キャンプ場", 'direction': 'r'},
{'id': '温泉', 'name':'温泉', 'direction': 'r'}]
# orderはうまく行かない
order = [[[],['総合受付'],[]],
[['キャンプ場'],[],[],],
[[],['温泉'],[]]]
layout = Layout(width="500", height="400")
# SankeyWidget(links=links,nodes=nodes, order=order, layout=layout)
SankeyWidget(links=links,nodes=nodes, layout=layout)