- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Python数据可视化Pyecharts库实现桑葚图效果由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
首先介绍一下什么是桑葚图?
桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图.
它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分、金融等数据的可视化分析.
因1898年Matthew Henry Phineas Riall Sankey绘制的“蒸汽机的能源效率图”而闻名,此后便以其名字命名为“桑基图”.
抓住桑葚图的核心定义,是主要用语表现一个数据流的过程。其实,我们熟悉的Matplotlib中也可以画出桑葚图,可是看起来是不是有那么一点点丑?如下所示:
本篇使用另外一个常用的可视化库pyecharts来画图.
这里需要强调一下,pyecharts 分为v0.5.x 和 v1 两个大版本,并且两个版本是不兼容的。v 0.5.x 支持python2.7 和 3.4+ ,而v1 开始仅支持python 3.6+ ,在官方也分为两个不同的文档.
在网上对于v1 的资料和学习例子也非常多,本文就为还在使用v 0.5.x版本的同学,提供帮助。本篇之后的例子,使用v 0.5.x版本。官方文档 。
首先使用熟悉的pip进行安装 。
pip install pyecharts 。
然后我们可以对照着官方文档中的API介绍来学习,需要引入 Sankey.
核心参数不同,主要是对桑葚图的一些展示的配置.
。
sankey = Sankey("桑基图示例", width=1200, height=600)
sankey.add( "sankey", nodes=j["nodes"], links=j["links"], line_opacity=0.2, line_curve=0.5, line_color="source", is_label_show=True, label_pos="right",)
这里需要注意,nodes和links是必须参数,相当于桑葚图中的结点和连接的边。需要传入一个List数据,内嵌字典数据格式,如下所示。这里的name、source、target和value都是固定的.
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}]
sankey.render()
最后给大家分享一个小例子:
def sankey_analysis(): nodes = [{'name':'Cluster 1'}, {'name':'Cluster 2'},{'name':'Cluster 3'}, {'name':'Young'},{'name':'Medium'},{'name':'Elder'}] result = np.array([ [130,151,188], [735,462,670], [711,625,881]]) targets = ['Young', 'Medium', 'Elder'] links = [] for i in range(0,3): for j in range(0,3): sub_dict ={} sub_dict['source'] = 'Cluster '+str(i+1) sub_dict['target'] = targets[j] sub_dict['value'] = result[i,j] links.append(sub_dict) pic = (Sankey(name, width=1200, height=600).add('', nodes, links, sankey_node_width=80, sankey_node_gap=5, line_opacity=0.7, line_curve=0.5, line_color='source', is_label_show=True, is_random = True, label_text_size=14, label_pos="inside")) pic.render('sankey.html')
参考资料:
1.https://05x-docs.pyecharts.org/#/zh-cn/prepare 。
以上就是Python数据可视化Pyecharts库实现桑葚图效果的详细内容,更多关于Pyecharts库实现桑葚图的资料请关注我其它相关文章! 。
原文链接:https://blog.csdn.net/sinat_23133783/article/details/112979067 。
最后此篇关于Python数据可视化Pyecharts库实现桑葚图效果的文章就讲到这里了,如果你想了解更多关于Python数据可视化Pyecharts库实现桑葚图效果的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
1、Pyeharts简介 pyecharts 是一个用于生成 Echarts 图表的类库。用 Echarts 生成的图可视化效果很不错,pyecharts库是用来与 Python 进行对接,方便
如下所示: ImportError: cannot import name ‘Bar' from ‘pyecharts.charts' (D:\Anaconda\lib\site-packa
我是一名优秀的程序员,十分优秀!