Python桑基图:
pyecharts:
from pyecharts import Sankey
nodes = [
{'name':'总计(100%)'},{'name':'奔驰(9.2%)'}, {'name':'宝马(6.9%)'}, {'name':'奥迪(4.1%)'},
{'name':'大众(7.0%)'}, {'name':'沃尔沃(3.9%)'}, {'name':'别克(3.8%)'},
{'name':'凯迪拉克(3.6%)'},{'name':'保时捷(3.4%)'},{'name':'本田(3.0%)'},{'name':'丰田(2.9%)'},
{'name':'玛莎拉蒂(2.8%)'},{'name':'路虎(2.8%)'},{'name':'雷克萨斯(2.2%)'},{'name':'其他(42.8%)'}
]#此处罗列各分支名称,后面的数字代表具体的量值(注:因为pyecharts无法直接显示value,所以需要这样标注)。
links = [
{'source':'总计(100%)', 'target':'奔驰(9.2%)', 'value':9.2 },
{'source':'总计(100%)', 'target':'宝马(6.9%)', 'value':6.9 },
{'source':'总计(100%)', 'target':'奥迪(4.1%)', 'value':4.1 },
{'source':'总计(100%)', 'target':'大众(7.0%)', 'value':7.0 },
{'source':'总计(100%)', 'target':'沃尔沃(3.9%)', 'value':3.9 },
{'source':'总计(100%)', 'target':'别克(3.8%)', 'value':3.8 },
{'source':'总计(100%)', 'target':'凯迪拉克(3.6%)', 'value':3.6 },
{'source':'总计(100%)', 'target':'保时捷(3.4%)', 'value':3.4 },
{'source':'总计(100%)', 'target':'本田(3.0%)', 'value':3.0 },
{'source':'总计(100%)', 'target':'丰田(2.9%)', 'value':2.9 },
{'source':'总计(100%)', 'target':'玛莎拉蒂(2.8%)', 'value':2.8 },
{'source':'总计(100%)', 'target':'路虎(2.8%)', 'value':2.8 },
{'source':'总计(100%)', 'target':'雷克萨斯(2.2%)', 'value':2.2 },
{'source':'总计(100%)', 'target':'其他(42.8%)', 'value':42.8 },
]#此处罗列各分支之间的关联关系,source表示节点,target表示终点,value表示状态转化的量值。
snakey = Sankey(
title="订单状态转化图",#主标题名称
title_pos='center',#主标题距离左侧距离,有’auto’, ‘left’, ‘right’, 'center’可选,也可为百分比或整数
title_top='top',#主标题距离顶部距离,有’top’, ‘middle’, 'bottom’可选,也可为百分比或整数
title_color='#595959',#主标题文本颜色,颜色的取值直接输入英文单词也可支持;十六进制大小写均可。
title_text_size=30,#主标题文本字体大小
width=1800,#设置图的宽度
height=1000#设置图的高度
)
snakey.add(
"",#按钮,用来控制是否显示图标。若不显示,可以设置为‘空格’,不能缺省。
nodes,#输入节点
links,#输入关系
line_opacity=0.2,#曲线色彩深度
line_curve=0.6,#曲线弧度
line_width=15,#曲线宽度
line_color="green",#设置转态转化之间连接线的颜色,可以填写颜色,也可以设置为target或source
is_label_show=True,#是否显示标签
sankey_node_width=30,#各节点的宽度
sankey_node_gap=8,#同列上下节点之间的距离
label_text_size=20,#设置标签字体大小
label_pos="right",#标签位置,可以设置靠左或者靠右
)
snakey.render(path="C:/Users/zhengtianyu/Desktop/pythonfile/lexus_sankey1.html")
输出结果