pyecharts 显示坐标轴线_快速绘制动态排序图 — Pyecharts 高级组件 Timeline 实现!...

本文通过Pyecharts的Timeline组件展示了如何创建动态排序图,详细讲解了Timeline的使用步骤,包括安装Pyecharts、创建Timeline对象、循环绘制每一帧图表以及美化和渲染图表。案例中以直方图Bar为例,但强调可替换为其他图表类型以适应不同场景需求。
摘要由CSDN通过智能技术生成

点击上方 Z先生点记,加为星标
第一时间收到 Python 技术干货!

之前写过一篇关于Python 制作 动态排序图的教程,里面利用的是 Matplotlib 中的 animation 函数,文章内容可参考动态排序图的详细制作教程,动态排序图的最终部分效果如下:

a04b5c715f3c4edc4e76e94006efdf2f.gif

今天文章将用另外一种Python 软件包 Pyecharts,来实现类似效果,效果如下:

ff713d0aebc5898833934d07c9c55e44.gif

在整个动态图的绘制过程,主要用到了 Pyecharts 的 Timeline 高级组件,该组件与 Matplotlib 中 animatation 函数原理相同,

把数据以时间作为唯一变量,在不同时间点下其它数据条目是不一样的,一个时间点可以绘制一张可视化图表,把全部的可视化图表一帧一帧连接起来,通过帧与帧之间的数据差值变化,最终形成动态图效果

而 Timeline 组件和 anaimation 函数在这里承担的角色就是 帧与帧之间可视化图表的拼接,以上原理介绍完了,接下来就来介绍一下具体怎么使用 Timeline

Timeline 组件使用

**1,安装 Pyecharts **

使用之前,请确保你已经安装好 Pyecharts ,安装方式直接利用pip 工具即可,命令如下:

pip install pyechartske

2,创建 Timeline 对象类

先创建一个 Timeline 对象,相当于一个容器,把后面绘制的每一帧可视化报表图放在里面,然后根据放入先后顺序合成一个类似动态图的视频

# 导入所需要的库函数
from pyecharts import options as opts
from pyecharts.charts import Bar,Timeline
from pyecharts.faker import Faker
import random

t1  = Timeline()# 创建 Timeline对象

3,循环绘制每一帧图表,放入 Timeline

利用 for 或 while 循环语句,遵守 Pyecharts 语句创建每一帧时间对应的可视化图表,然后加入了前面创建的 Timeline() 组件中,这里图表以直方图 Bar 为例

for i in range(1969,2020):
    attr1 = random.shuffle(lis
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用 Pyecharts 实现经纬度动态轨迹的示例代码: ```python import pandas as pd from pyecharts import options as opts from pyecharts.charts import Geo, Timeline # 读取数据 data = pd.read_csv('data.csv') # 创建时间轴 timeline = Timeline() # 创建地理 geo = Geo(init_opts=opts.InitOpts(width='1000px', height='600px')) # 遍历数据 for i, row in data.iterrows(): # 添加时间点 timeline.add( geo.add_schema( maptype='world', center=[row['lon'], row['lat']], zoom=4, ).add_coordinate( row['name'], row['lon'], row['lat'], ).add( row['name'], [(row['lon'], row['lat'])], type_='scatter', symbol_size=8, label_opts=opts.LabelOpts(is_show=False), itemstyle_opts=opts.ItemStyleOpts(color='red'), ).set_series_opts( label_opts=opts.LabelOpts(is_show=False), ).set_global_opts( title_opts=opts.TitleOpts( title='动态轨迹', subtitle=f'{row["time"]}', pos_left='20%', ), visualmap_opts=opts.VisualMapOpts( min_=0, max_=100, is_piecewise=True, pieces=[ {'min': 0, 'max': 20, 'label': '0-20'}, {'min': 20, 'max': 40, 'label': '20-40'}, {'min': 40, 'max': 60, 'label': '40-60'}, {'min': 60, 'max': 80, 'label': '60-80'}, {'min': 80, 'max': 100, 'label': '80-100'}, ], ), ), f'{row["time"]}', ) # 渲染timeline.render('timeline_geo.html') ``` 其中,`data.csv` 是包含数据的 CSV 文件,示例数据如下: ``` name,time,lat,lon New York,2022-01-01 00:00:00,40.712776,-74.005974 Beijing,2022-01-01 01:00:00,39.904200,116.407396 Sydney,2022-01-01 02:00:00,-33.865143,151.209900 Paris,2022-01-01 03:00:00,48.856613,2.352222 ``` 运行代码后,将会生成 `timeline_geo.html` 文件,用浏览器打开即可查看动态轨迹
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值