承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601
当前位置:首页  >  软件开发  >  python 画桑基图

python 画桑基图

管理员 2023-06-24 07:48:25 软件开发 13 ℃ 0 评论 1710字 收藏

python 画桑基图

桑基图(Sankey Diagram)是一种可视化方法,通经常使用于表示复杂的流程和交互关系。在 Python 中,可使用 matplotlib 库和它的扩大包 matplotlib.sankey 来绘制桑基图。下面,我们来看一下如何利用 Python 画出一个简单的桑基图。

import matplotlib.pyplot as plt
from matplotlib.sankey import Sankey
# 定义桑基图的流程
flows = [120, 80, 50, 30]
labels = ['流程一', '流程二', '流程三', '流程四']
# 定义桑基图的流向
links = [
(0, 1, 60),
(1, 2, 40),
(2, 3, 20),
(0, 3, 60)
]
# 创建一个 Sankey 图形对象
sankey = Sankey()
# 添加流程和标签
for i in range(len(flows)):
sankey.add(flows[i], label=labels[i])
# 添加流向
for link in links:
sankey.add(flows=link[2], path=[link[0], link[1]], 
color='b' if link[1]==2 else 'r')
# 绘制桑基图
sankey.finish()
plt.show()

首先,我们定义了桑基图的流程和标签,这里有四个流程,分别表示为 “流程一”、“流程二”、“流程三”、“流程四”,对应的流量为 120, 80, 50, 30。接下来,我们定义了桑基图的流向,这里有四个流向,分别表示为 0 ->1、1 ->2、2 ->3、0 ->3,对应的流出量分别为 60、40、20、60。

然后,我们创建了一个 Sankey 图形对象,并顺次添加了流程和标签和流向。在添加流向时,我们可以指定流向的色彩,例如这里如果流向的终点是 “流程三”,那末流向就会以蓝色表示。

最后,我们调用 sankey.finish() 方法,绘制出了桑基图。运行代码后,我们可以得到以下的图形:

![Sankey Diagram](/upload/allimg/2023/06/21/reco5cqrblc.png)

文章来源:丸子建站

文章标题:python 画桑基图

https://www.wanzijz.com/view/58757.html

相关文章

Related articles

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信