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 = {
'关羽' : [[5, 4.8, 4.4, 4.7, 4.9]],
'张飞' : [[5, 4.6, 4.7, 4.6, 4.8]],
'赵云' : [[5, 4.8, 4.7, 4.9, 4.7]],
'马超' : [[4.3, 4.5, 4.6, 4.7, 4.7]],
'黄忠' : [[4.5, 4.5, 4.5, 4.6, 4.7]]
}
tl = Timeline()
schema = [opts.RadarIndicatorItem(name=name, max_=5) for name in ('忠', '义', '礼', '智', '信')]
for hero, data in datas.items():
radar = Radar().add_schema(schema=schema).add(hero, data)
tl.add(radar, hero)
tl.render('五虎上将能力对比.html')
蜀国五虎上将能力对比(数据纯属虚构):
如此操作简单而又颇具实效的时间线图,叫人怎能不为之拍手称快
分类:
Python 数据科学系列
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧