桑基图通常可以作为路径分析的展示,说一下如何用Python实现。

可视化神器pyecharts里有现成可用的包,今天我就是平平无奇搬运工!

官方文档参考:
1.https://pyecharts.org/#/zh-cn/basic_charts
2.https://gallery.pyecharts.org/#/Sankey/sankey_with_level_setting

第一个文档 ,基本图表——桑基图,解释了各个参数的释义;
第二个文档,举例了几类可视化的图和具体的代码:基本、从json中解析直接画图、设置每一步的样式、垂直型。

基本示例代码如下:

#导入需要的包
from pyecharts import options as opts
from pyecharts.charts import Sankey#列全涉及的节点名称
nodes = [{"name": "category1"},{"name": "category2"},{"name": "category3"},{"name": "category4"},{"name": "category5"},{"name": "category6"},
]#节点之间的关系和数量,source起点,target终点,value数量
links = [{"source": "category1", "target": "category2", "value": 10},{"source": "category2", "target": "category3", "value": 15},{"source": "category3", "target": "category4", "value": 20},{"source": "category5", "target": "category6", "value": 25},
]
c = (Sankey(init_opts=opts.InitOpts(width="1200px", height="600px")) #设置图表的宽度和高度.add("sankey",nodes,#读取节点links,#读取路径linestyle_opt=opts.LineStyleOpts(opacity=0.2, curve=0.5, color="source"),#设置线条样式label_opts=opts.LabelOpts(position="right"),#设置标签配置项node_align=str( "justify"),#设置节点对齐方式:right,left,justify(节点双端对齐)).set_global_opts(title_opts=opts.TitleOpts(title="Sankey-基本示例"))#表名.render("sankey_base.html")#保存html文件
)
)

图片展示:

实践步骤:可以提前在SQL里计算好,以 “start,end,num:1-a, 2-b, 100”的格式存储,然后在excel里处理成nodes\links的格式,填充进去;或者用Python直接读取对应表格,再处理成符合要求的格式。
循环写入到nodes和links,代码大致如下:

#导入需要的包
from pandas as pd
from numpy as np#读入数据data,表结构:start,end,num#将节点循环写入到nodes
nodes = []
for i in range(2):label = data.iloc[:,i].unique()#去重后的节点名称for j in label:#以字典格式循环写入nodedic={}nodedic['name'] = jnodes.append(nodedic)
#nodes#将流转路径数据循环写入links
links = []
for k in data.values:linkdic={}linkdic['source'] = k[0]linkdic['target'] = k[1]linkdic['value'] = k[2] links.append(linkdic)
#links
#带入到桑基图函数中即可

通过ESP(Excel+Sql+Python)的合力操作,就完成啦!
注意nodes\links里不要有空格,不然结果可能出不来哦,别问我为什么知道)。
最后附上一张实践成果,是用户在某个页面的路径,1-,2-表示第一步第二步,具体内容还是脱敏啦。


参考:https://www.jianshu.com/p/dde9d4072e31

桑基图的Python实现相关推荐

  1. 数据治理 Python桑基图处理表关系

    数据治理 Python桑基图处理表关系 需求 随着hive库表越来越多,调度出问题后,排查时间越来越长.计划通过桑基图以及血缘图谱解决,当前先用桑基图页面顶一段时间.后期做成web服务,如果有可能,尽 ...

  2. python怎么画函数图_可视化|Python绘制桑基图

    桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图.它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于电商.材料成分.金融等数据的可视化分析.因18 ...

  3. Python绘制桑基图

    很多时候,我们需要一种必须可视化数据如何在实体之间流动的情况.例如,以居民如何从一个国家迁移到另一个国家为例.这里演示了有多少居民从英格兰迁移到北爱尔兰.苏格兰和威尔士. 桑基图简介 从这个 桑基图 ...

  4. python制作桑基图_Python制作桑基图

    这张图是不是十分的漂亮呢?今天偶然间看到一张十分炫酷的图,深深地被它妖艳炫酷的的外表所迷惑,查了许多资料之后,得知它叫"桑基图".古人云:"桑吉桑吉,高贵美丽" ...

  5. python画简单图片-Python绘制“高颜值”桑基图

    请看以下图片: 相信许多小伙伴第一眼就会被它美丽的外表所吸引,由此引发一连串的惊叹: "这个图叫什么???" "这个图真好看!!!怎么画啊?" 为了满足大家的好 ...

  6. 【Python 】绘制惊艳的桑基图

    很多时候,我们需要一种必须可视化数据如何在实体之间流动的情况.例如,以居民如何从一个国家迁移到另一个国家为例.这里演示了有多少居民从英格兰迁移到北爱尔兰.苏格兰和威尔士. 从这个 桑基图 (Sanke ...

  7. 【Python基础】用Python制作漂亮的流动桑基图

    来源:Python数据之道 作者:Peter 整理:Lemon 桑基图绘制实践 本文中介绍的是如何制作桑基图,使用的可视化库是强大的 Pyecharts (版本1.7.1,版本一致很重要).文章将从如 ...

  8. 炫酷!用Python制作漂亮的流动桑基图

    作者:Peter 整理:Lemon 桑基图绘制实践 本文中介绍的是如何制作桑基图,使用的可视化库是强大的 Pyecharts (版本1.7.1,版本一致很重要).文章将从如下几个方面进行介绍: 什么是 ...

  9. 用python画皇冠_手把手教你用 Python 绘制酷炫的桑基图!

    原标题:手把手教你用 Python 绘制酷炫的桑基图! 作者 | 周志鹏 责编 | 郭 芮 最近,不止一次收到小伙伴的截图追问: "这个图叫什么???" "这个图真好看! ...

最新文章

  1. linux mysql5.1安装,1怎么安装?Linux环境下MySQL5?
  2. postgresql----文本搜索类型和检索函数
  3. TPROXY与ip_conntrack
  4. php之自动加载(懒加载)
  5. 笔记整理之 SHELL 变量
  6. mysql 备份html数据_MySQL自动化生成HTML页面(导出数据)极限SQL编程-sql文件怎么打开...
  7. Oracle监听启动扫描sqlnet,监听中sqlnet.ora的作用
  8. 按照两个dataframe的index合并数据
  9. nacos启动报错 db.num is null【已解决】
  10. Word2010撤销按钮失效,Ctrl+Z失效解决办法
  11. 显示计算机配置的命令是,查看电脑配置命令
  12. 经济均衡问题及其应用 (一):根据供需函数 确定市场的清算价格
  13. chr python用法_使用Python内建chr, ord实现的简单的加/解密
  14. JavaWeb中点赞功能的实现及完整实例
  15. 2023年,莫荒废了时光。
  16. 关于Md5加密算法的原理及应用
  17. java autoconf_Centos7安装autoconf
  18. MySQL图形化用户界面客户端的安装与介绍(SQLyog)
  19. 在疫情期间微分销商城如何运营
  20. python网课一般多少钱-Python人工智能速成班泛滥 线上网课一个月2千

热门文章

  1. 通过MES技术居然可以防止制造数据造假?
  2. PHP递归获取无限极分类
  3. calico全网互联转换为路由反射route reflector
  4. echarts 图设置高度_Echarts 自适应宽高 vue
  5. 前端PS切图(笔记)
  6. 欢迎使用CSDN-markdown编辑器--全新的markdown编辑器,存档一份,学习使用
  7. 视频教程-全新150集通俗易懂的Java设计模式-Java
  8. 2016年苏州大学872真题整理
  9. 波动方程有限差分法c语言,二维波动方程的有限差分法.pdf
  10. oppor17android版本,OPPO Reno和OPPO R17Pro区别对比实用评测