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

作者: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')

原来用pyecharts画个时间线图这么简单_第1张图片

三国势力历年变化趋势(数据纯属虚构)

虽然叫"时间线",但"时间轴"可以是任何系列数据,绘制方法还是一样的套路:

 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')

原来用pyecharts画个时间线图这么简单_第2张图片

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


如此操作简单而又颇具实效的时间线图,叫人怎能不为之拍手称快?

◆ ◆ ◆  ◆ ◆

长按二维码关注我们


数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。

管理员二维码:

猜你喜欢

● 笑死人不偿命的知乎沙雕问题排行榜

● 用Python扒出B站那些“惊为天人”的阿婆主!

● 全球股市跳水大战,谁最坑爹!

● 华农兄弟、徐大Sao&李子柒?谁才是B站美食区的最强王者?

● 你相信逛B站也能学编程吗

你可能感兴趣的:(原来用pyecharts画个时间线图这么简单)