怎样利用pyecharts绘制一个复杂的桑基图
Admin 2022-07-28 群英技术资讯 452 次浏览
桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于 能源、材料成分、 金融等数据的可视化分析。因1898年Matthew Henry Phineas Riall Sankey绘制的“ 蒸汽机的能源效率图”而闻名,此后便以其名字命名为“桑基图”。
桑基图最明显的特征就是,始末端的分支宽度总和相等,即所有主支宽度的总和应与所有分出去的分支宽度的总和相等,保持能量的平衡。
from pyecharts import options as opts from pyecharts.charts import Sankey nodes = [ {"name": "category1"}, {"name": "category2"}, {"name": "category3"}, {"name": "category4"}, {"name": "category5"}, {"name": "category6"}, ] 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() .add( "sankey", nodes, links, linestyle_opt=opts.LineStyleOpts(opacity=0.2, curve=0.5, color="source"), label_opts=opts.LabelOpts(position="right"), ) .set_global_opts(title_opts=opts.TitleOpts(title="标题")) .render("桑基图.html") )
from pyecharts import options as opts from pyecharts.charts import Sankey colors = [ "#67001f", "#b2182b", "#d6604d", "#f4a582", "#fddbc7", "#d1e5f0", "#92c5de", "#4393c3", "#2166ac", "#053061", ] nodes = [ {"name": "a"}, {"name": "b"}, {"name": "a1"}, {"name": "b1"}, {"name": "c"}, {"name": "e"}, ] links = [ {"source": "a", "target": "a1", "value": 5}, {"source": "e", "target": "b", "value": 3}, {"source": "a", "target": "b1", "value": 3}, {"source": "b1", "target": "a1", "value": 1}, {"source": "b1", "target": "c", "value": 2}, {"source": "b", "target": "c", "value": 1}, ] c = ( Sankey() .set_colors(colors) .add( "sankey", nodes=nodes, links=links, pos_bottom="10%", focus_node_adjacency="allEdges", orient="vertical", linestyle_opt=opts.LineStyleOpts(opacity=0.2, curve=0.5, color="source"), label_opts=opts.LabelOpts(position="top"), ) .set_global_opts( title_opts=opts.TitleOpts(title="标题"), tooltip_opts=opts.TooltipOpts(trigger="item", trigger_on="mousemove"), ) .render("复杂桑基图.html") )
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Python 第三方opencv库实现图像分割处理,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
Python中的元组容器序列(tuple)与列表容器序列(list)具有极大的相似之处,因此也常被称为不可变的列表。但是两者之间也有很多的差距,元组侧重于数据的展示,而列表侧重于数据的存储与操作。
这篇文章主要为大家详细介绍了python实现21点小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
方案一:利用selenium+phantomjs无界面浏览器的形式访问网站,再获取cookie值:fromseleniumimportwebdriverdriver=webdriver.PhantomJS()url="https://et.xiamenair.com/xiamenair/book/findFlights.action?lang=zh&tripType=0
本篇文章给大家带来了关于Python的相关知识,Django是比较经典的Python web框架,最近刚好在项目中用到了Django,所以下面这篇文章主要给大家介绍了关于使用Pycharm创建一个Django项目的超详细图文教程,希望对大家有帮助。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008