pyecharts 画时间线图

可视化对于数据分析师的工作重要性不言而喻。在Python众多可视化库中,matplotlib+seaborn+pyecharts是个人常用的组合。今天,就简单分享一个用pyecharts制作时间线图的例子,实现非常简单,效果却很强大。

 

pyecharts是python对百度开源echarts框架的一个封装,接口丰富、设置多样、图表可交互。需要指出的是,pyecharts从0.5版本升级到1.0版本后,接口调用形式发生很大变化,一度令人感到陌生,但实际上只是传参方式有些不同而已。

在pyecharts绘制基本图表的基础上,当为了体现指标随时间的变化趋势时,时间线图表是一个理想的选择。而绘制时间线图实际上非常简单,仅需三步即可:

  • 生成时间线对象

  • 创建基本图表对象

  • 将基本图表对象加入到时间线

某种意义上讲,时间线可理解为基本图表的一个容器,且其接口风格与基本图表很是相近。

 

举个例子感受下:
from pyecharts.charts import Pie, Timeline
from pyecharts import options as opts

datas = {
    220:[('魏'50), ('蜀'15), ('吴'35)],
    230:[('魏'60), ('蜀'20), ('吴'20)],
    240:[('魏'40), ('蜀'30), ('吴'30)],
    250:[('魏'35), ('蜀'40), ('吴'25)],
    260:[('魏'50), ('蜀'20), ('吴'30)],
    270:[('魏'60), ('蜀'15), ('吴'25)],
    280:[('魏'80), ('蜀'10), ('吴'10)]
}

# 1.创建时间线对象
tl = Timeline()
for year, data in datas.items():
    # 2.创建单个子图对象
    pie = Pie().add(year, data)
    # 3.将子图对象添加到时间线
    tl.add(pie, year)

tl.render('三国势力历年变化.html')

 

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

 

 

虽然叫"时间线",但"时间轴"可以是任何系列数据,绘制方法还是一样的套路:
from pyecharts.charts import Timeline, Radar
from pyecharts import options as opts

datas = {
    '关羽' : [[54.84.44.74.9]],
    '张飞' : [[54.64.74.64.8]],
    '赵云' : [[54.84.74.94.7]],
    '马超' : [[4.34.54.64.74.7]],
    '黄忠' : [[4.54.54.54.64.7]]
}
tl = Timeline()
schema = [opts.RadarIndicatorItem(name=name, max_=5for name in ('忠''义''礼''智''信')]
for hero, data in datas.items():
    radar = Radar().add_schema(schema=schema).add(hero, data)
    tl.add(radar, hero)
tl.render('五虎上将能力对比.html')

 

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

 


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

posted @   larkwins  阅读(404)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示