用pyecharts 实现按时间线轮播数据饼图

本文展示了如何使用pyecharts库创建一个按时间线轮播的数据饼图。通过实例代码,演示了从pie_base对象出发,结合create_timeline_data方法生成轮播效果的过程。

上次做了一个轮播柱状图的例子

现在做一个饼图的例子 , 例子代码基于 pyecharts 1.7 ,如果是高版本, 要改对应的函数。

Python 3.7.3
pyecharts Version: 1.7.1

完成后,大概就长这个样子

 

上代码   , pie_base 是建一个pie 对象。 create_timeline_data是建立一个轮播图。         

# encoding: utf-8
"""
@author: 陈年椰子
@contact: hndm@qq.com
@version: 1.0
@project:test 
@file: pye_test2.py
@time: 2022-1-13 11:02

说明
"""

from pyecharts.charts import Pie, Timeline
from pyecharts import options as opts
from random import randint
def pie_base(p_title, p_list,pw="800px", ph="600px") -> Pie:
    c = (
        Pie(init_opts=opts.InitOpts(width=pw,height=ph))
        .add("", p_list)
        .set_global_opts(title_opts=opts.TitleOpts(title=p_title),
                             legend_opts=op
### 创建 PyEcharts 时间线轮播的组合表 在 PyEcharts 中,时间线(Timeline)组件可以用于实现轮播效果。通过将多个表按时间顺序排列,用户可以动态查看不同时间段的数据变化。以下是一个详细的实现方法[^1]。 #### 1. 安装依赖 首先需要确保安装了 PyEcharts 库。如果尚未安装,可以通过以下命令完成: ```bash pip install pyecharts ``` #### 2. 数据准备 假设我们有北京市、天津市、上海市和重庆市近20年的人口数据,存储在一个字典中。以下是示例数据结构: ```python data = { "北京": [1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900], "天津": [800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 1650, 1700, 1750], "上海": [1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 1650, 1700, 1750, 1800, 1850, 1900, 1950, 2000, 2050, 2100, 2150], "重庆": [1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 1650, 1700, 1750, 1800, 1850, 1900, 1950, 2000, 2050] } years = list(range(2003, 2023)) ``` #### 3. 创建时间线轮播 以下是使用 PyEcharts 创建时间线轮播的代码示例: ```python from pyecharts.charts import Line, Timeline from pyecharts import options as opts # 初始化时间线对象 timeline = Timeline() # 遍历年份,为每个年份生成一个折线 for i in range(len(years)): line = ( Line() .add_xaxis(["北京", "天津", "上海", "重庆"]) .add_yaxis("人口数量", [data["北京"][i], data["天津"][i], data["上海"][i], data["重庆"][i]]) .set_global_opts( title_opts=opts.TitleOpts(title=f"{years[i]} 年人口数据"), yaxis_opts=opts.AxisOpts(name="人口(万人)"), xaxis_opts=opts.AxisOpts(name="城市") ) ) timeline.add(line, f"{years[i]}") # 将折线添加到时间线中 # 设置时间线的全局配置项 timeline.add_schema( play_interval=1000, # 自动播放的时间间隔(毫秒) is_timeline_show=True, # 是否显示时间线 is_auto_play=True, # 是否自动播放 is_loop_play=False # 是否循环播放 ) # 渲染表为 HTML 文件 timeline.render("timeline_population.html") ``` #### 4. 说明 - `Timeline` 是 PyEcharts 提供的时间线组件,用于管理多个表并支持轮播效果。 - `add` 方法将每个年份对应的折线添加到时间线中。 - `add_schema` 方法用于设置时间线的行为,例如是否自动播放、播放速度等[^2]。 #### 5. 示例效果 运行上述代码后,会生成一个名为 `timeline_population.html` 的文件。打开该文件时,可以看到一个时间轮播,展示北京市、天津市、上海市和重庆市在不同年份的人口变化情况。 --- ###
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈年椰子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值