桑基图相关示例代码

 【桑基图】
 桑基图是一种特殊的流程图。描述第一组节点到第二组节点的数据流向及流量大小。
 特点: 第一组节点的总数据量 等于 第二组节点的总数据量(流出=流入,能量守恒)—— 需要自己检查 

一、桑基图相关示例代码如下:

from pyecharts import options as opts
from pyecharts.charts import Sankey

# [
#     ['江西省', 86000],
#     ['福建省', 85000], ['广东省', 82000], ['湖南省', 65000], ['广西省', 65000],
#     ['贵州省', 30000], ['云南省', 20000], ['四川省', 10000], ['甘肃省', 5000],
#     ['陕西省', 7000],  # 星星之火可以燎原,《毛泽东选集1-4卷》,唯物辩证法——实践论和矛盾论
#  ]

# 【桑基图展示: 红一方面军(中央红军)长征兵力流向】

# 定义节点
nodes = [
    {"name": "江西"},
    {"name": "广东"},
    {"name": "福建"},
    {"name": "广西"},
    {"name": "湖南"},
    {"name": "牺牲"},
    {"name": "贵州"},
]


# 红一方面军86000——李德博古,  (右倾领导人)
# 北上抗日先遣队6000——方志敏,  《最可爱的中国》

# 定义数据流向
links = [
     # 源头source  -->  目标target
    {"source": "江西", "target": "广东", "value": 84000},
    {"source": "江西", "target": "福建", "value": 2000},
    {"source": "广东", "target": "湖南", "value": 65000},
    {"source": "广东", "target": "牺牲", "value": 19000},
    {"source": "湖南", "target": "贵州", "value": 30000},
    {"source": "湖南", "target": "牺牲", "value": 35000},
]

# 拿破仑东征图(最原始的桑基图)

c = (
    Sankey()
    .add(
        "Sankey",
        nodes,
        links,
        # Sankey 组件离容器上侧的距离
        pos_top='15%',
        # 线条样式配置项,参考 `series_options.LineStyleOpts`
        linestyle_opt=opts.LineStyleOpts(
                                    opacity=0.2, curve=0.5, color="source"),
        # 标签配置项,参考 `series_options.LabelOpts`
        label_opts=opts.LabelOpts(position="right"),
        # 提示框配置项
        tooltip_opts=opts.TooltipOpts(is_show=True),
    )
    
    # 全局配置项
    .set_global_opts(
                # 标题
                title_opts=opts.TitleOpts(title="Sankey-基本示例"),
                # 图例
                legend_opts=opts.LegendOpts(is_show=True, pos_left='35%', pos_bottom='90%')
                    )
)

# 渲染图表
c.render_notebook()

二、图表展示

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值