原来用pyecharts画个时间线图这么简单
数据森麟
共 1941字,需浏览 4分钟
· 2020-07-01
作者:luanhz
来源:小数志
导读
可视化对于数据分析师的工作重要性不言而喻。在Python众多可视化库中,matplotlib+seaborn+pyecharts是个人常用的组合。今天,就简单分享一个用pyecharts制作时间线图的例子,实现非常简单,效果却很强大。
pyecharts是python对百度开源echarts框架的一个封装,接口丰富、设置多样、图表可交互。需要指出的是,pyecharts从0.5版本升级到1.0版本后,接口调用形式发生很大变化,一度令人感到陌生,但实际上只是传参方式有些不同而已。
在pyecharts绘制基本图表的基础上,当为了体现指标随时间的变化趋势时,时间线图表是一个理想的选择。而绘制时间线图实际上非常简单,仅需三步即可:
生成时间线对象
创建基本图表对象
将基本图表对象加入到时间线
某种意义上讲,时间线可理解为基本图表的一个容器,且其接口风格与基本图表很是相近。
1from pyecharts.charts import Pie, Timeline
2from pyecharts import options as opts
3
4datas = {
5 220:[('魏', 50), ('蜀', 15), ('吴', 35)],
6 230:[('魏', 60), ('蜀', 20), ('吴', 20)],
7 240:[('魏', 40), ('蜀', 30), ('吴', 30)],
8 250:[('魏', 35), ('蜀', 40), ('吴', 25)],
9 260:[('魏', 50), ('蜀', 20), ('吴', 30)],
10 270:[('魏', 60), ('蜀', 15), ('吴', 25)],
11 280:[('魏', 80), ('蜀', 10), ('吴', 10)]
12}
13
14# 1.创建时间线对象
15tl = Timeline()
16for year, data in datas.items():
17 # 2.创建单个子图对象
18 pie = Pie().add(year, data)
19 # 3.将子图对象添加到时间线
20 tl.add(pie, year)
21
22tl.render('三国势力历年变化.html')
三国势力历年变化趋势(数据纯属虚构)
1from pyecharts.charts import Timeline, Radar
2from pyecharts import options as opts
3
4datas = {
5 '关羽' : [[5, 4.8, 4.4, 4.7, 4.9]],
6 '张飞' : [[5, 4.6, 4.7, 4.6, 4.8]],
7 '赵云' : [[5, 4.8, 4.7, 4.9, 4.7]],
8 '马超' : [[4.3, 4.5, 4.6, 4.7, 4.7]],
9 '黄忠' : [[4.5, 4.5, 4.5, 4.6, 4.7]]
10}
11tl = Timeline()
12schema = [opts.RadarIndicatorItem(name=name, max_=5) for name in ('忠', '义', '礼', '智', '信')]
13for hero, data in datas.items():
14 radar = Radar().add_schema(schema=schema).add(hero, data)
15 tl.add(radar, hero)
16tl.render('五虎上将能力对比.html')
蜀国五虎上将能力对比(数据纯属虚构)
如此操作简单而又颇具实效的时间线图,叫人怎能不为之拍手称快?
◆ ◆ ◆ ◆ ◆
长按二维码关注我们
数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
管理员二维码:
● 华农兄弟、徐大Sao&李子柒?谁才是B站美食区的最强王者?
● 你相信逛B站也能学编程吗
评论
顶级 Javaer 都在用的 20 个类库,真香!
点击关注公众号,Java 干货及时推送↓推荐阅读:投了 100 多份简历后…优秀且经验丰富的Java开发人员的特征之一是对API的广泛了解,包括JDK和第三方库。我花了很多时间来学习API,尤其是在阅读了Effective Java 3rd Edition之后 ,Joshua Bloch建
Java技术栈
1
美团社招一面,比预想的简单。
面试题大全:www.javacn.site面试这件事就很玄学,有时候你觉得他可能很难,但面完之后竟然出奇的顺利,问的问题你都会;有些你觉得这次面试应该很简单,但去了之后就被问懵了,所以面试这件事有很多一部分运气的成分。所以说,在没有 Offer 之前就是多准备、楞怂面,主打一个大力出奇迹。这不,逛牛
Java中文社群
0
互联网晚报 | 央视发文谈调休:原则是最小干预;特斯拉中国全系降价;二手交易平台现大量转卖SU7创始车型订单
央视发文谈调休:原则是最小干预“五一其实只放一天”近日冲上热搜,再度引发“假期该不该调休”的热议。如何调休,也有讲究。一个基本原则是,“最小干预,尽量不打乱人们的正常生活节奏”。我国现行法定节假日总天数为11天,周末休息104天,带薪休假5~15天,总假期天数在国际上处于中等偏上水平。专家指出,“之
产品刘
0
原来Matplotlib能画股票K线图!!附代码
之前在一篇文章中提到Matplotlib可视化,甚至可以用来画股票K线图,许多同学也在问代码,这次来发个文回应下。Python用matplotlib绘制K线图,需要配合talib、numpy、mpl_finance等第三方库来使用,效果展示如下:简单讲讲K线图的结构,我不搞股票,所以不太懂,特地查了
Python大数据分析
9
6 个火爆 GitHub 的后台管理模板,快来收藏!
将Python客栈设为“星标⭐”第一时间收到最新资讯今天来给大家介绍6个火爆 G 站的管理后台模板,有了它们,对于前端不是很熟悉的小伙伴来说,再也不用烦恼了,而且有一说一,即使是前端大牛,要想从零开发一套完整的管理模板,也不是一件容易的事情。1. vue-element-admin该项目是基于 Vu
Python客栈
0
如何解释“有你这写脚本时间,我早就一个一个做完了”?
点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现
JavaEdge
0
面试官:为什么忘记密码要重置,而不是告诉我原密码?
将Python客栈设为“星标⭐”第一时间收到最新资讯来源丨程序员Sunday(ID:gh_255b41b1f634)最近有个同学在面试中遇到了一个很有意思的问题,我相信大多数的同学可能都没有遇到过。面试官提问说:“为什么很多网站忘记密码需要重置,而不是直接告诉用户原密码?”很有意思的问题对不对。很多
Python客栈
0
人工智能周刊#17:Llama3、微调 LLMs 的 PyTorch 原生库、李彦宏内部讲话、900 个最受欢迎的AI 工具
在内部讲话中,李彦宏对大模型开源与闭源的路线选择,以及 AI 创业者应该专注模型还是应用等业界焦点话题,发表了自己的看法。人工智能周刊:关注Python、机器学习、深度学习、大模型等硬核技术本期目录:1、Meta 最新发布 Llama 3 80 亿和 700 亿参数版本2、「抱抱脸」公
机器学习算法与Python实战
10