plotly ---- Python Chart Ploting Library
文章目录
桑椹图
参考:
代码实践
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36# 实际映射关系 df = pd.DataFrame( [ ['A', 'A', 'A', 'B', 'B', 'B'], ['a', 'b', 'c', 'a', 'b', 'c'], [50, 25, 25, 10, 50, 40]] ) # 输出 0 1 2 0 A a 50 1 A b 25 2 A c 25 3 B a 10 4 B b 50 5 B c 40 # 绘制使用关系(转换后) df = pd.DataFrame( [ [0, 0, 0, 1, 1, 1], [2, 3, 4, 2, 3, 4], [50, 25, 25, 10, 50, 40]] ) # 节点名称到数字映射 A, B ---> [0, 1], a,b,c --->[2,3,4] df = df.T # 绘制 data = go.Sankey(link={'source': df[0], 'target': df[1], 'value': df[2]}, node={'label':list('AB') + list('abc'), 'pad':50, 'thickness':10}) fig = go.Figure(data) fig.show()注意
- 直接在 source 和 target 中使用 node 节点名称不能绘制出图像
与 Jupyter Notebook 兼容问题
刷新页面,图像消失
解决办法
1 2from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot init_notebook_mode(connected=True)- 在 notebook 开头插入上述代码
- 参考:使用Plotly 绘制桑椹图
文章作者
上次更新 2022-04-26 (3050aaa)