小白的数据分析师之路

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")

输出结果


小白的数据分析师之路_第1张图片

你可能感兴趣的:(小白的数据分析师之路)