专栏首页小数志原来用pyecharts画个时间线图这么简单

原来用pyecharts画个时间线图这么简单

导读

可视化对于数据分析师的工作重要性不言而喻。在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')

蜀国五虎上将能力对比(数据纯属虚构)

本文分享自微信公众号 - 小数志(Datazhi),作者:luanhz

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一文弄懂Python上下文管理器和with用法

    导读:pythoners都知道有个关键字叫"with",它可以实现使用某些"临时"声明的对象,而之后"什么也不用管",这个用法在python中叫上下文管理器。本...

    luanhz
  • 物以类聚,数以"桶"分

    "桶"在数据结构与算法领域可以说是有着重要的应用,从简单的排序算法到某些特定数据结构,运用桶的思想考虑问题往往有出人意料的效果。

    luanhz
  • PySpark SQL——SQL和pd.DataFrame的结合体

    昨日推文PySpark环境搭建和简介,今天开始介绍PySpark中的第一个重要组件SQL/DataFrame,实际上从名字便可看出这是关系型数据库SQL和pan...

    luanhz
  • 【CV中的特征金字塔】三,两阶段实时检测网络ThunderNet

    在移动端的实时目标检测是一个极为重要并且有挑战性的视觉问题。很多基于CNN的检测器都有巨大的计算量,所以在计算受限的场景下难以进行实时推理。论文提出了一个轻量级...

    BBuf
  • Apache顶级开源项目——机器学习库MADlib简介与应用实例

    摘要 Apache MADlib是Pivotal与UCBerkeley合作的一个开源机器学习库,提供了精确的数据并行实现、统计和机器学习方法对结构化和非结构化数...

    IT大咖说
  • 谷歌新模型提升肺癌筛查率:相关研究登上Nature Medicine

    根据世界卫生组织,肺癌每年造成 1700 万人死亡,是致死率最高的癌症(死亡率超过乳腺癌、前列腺癌和结直肠癌的总和),是全球第六大死因。尽管肺癌在所有癌症中存活...

    机器之心
  • 聊聊artemis ClientConsumer的handleRegularMessage

    本文主要研究一下artemis ClientConsumer的handleRegularMessage

    codecraft
  • 聊聊artemis ClientConsumer的handleRegularMessage

    本文主要研究一下artemis ClientConsumer的handleRegularMessage

    codecraft
  • Apache顶级开源项目——机器学习库MADlib简介与应用实例

    内容来源:2017年11月4日,Pivotal Greenplum Madlib研发工程师梅靖怡在“Greenplum和机器 学习客户研讨会”进行《Machin...

    企鹅号小编
  • python学习笔记:第6天 小数据池和

    通过上面的例子可以总结出:字符串和数字在之前有定义过的话,后续再用到这个变量时,不会再分配内存,而是直接把新的变量直接指向之前定义过的值,因此使用is判断时结果...

    py3study

扫码关注云+社区

领取腾讯云代金券