Python Pyecharts 生成西安2023年每月天气变化动态图表
使用Pyecharts生成西安2023年每月天气变化动态图表
本示例使用Python的Pyecharts库生成西安2023年每月天气变化的动态图表,展示每个月不同天气类型出现的次数。
导入库
- 导入pandas库,用于数据处理
- 导入pyecharts库中的options和charts模块,用于生成图表
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Bar, Timeline
添加数据
- 使用
df = zrmweathertable进行数据读取,假设zrmweathertable是一个包含西安2023年天气数据的DataFrame。 - 对日期列进行处理,将其转换为日期格式,并新建一个月份列
- 对数据进行分组,按照月份和天气统计每个组的数量,并重置索引
df = zrmweathertable
df['日期'] = df['日期'].apply(lambda x: pd.todatetime(x))
df['month'] = df['日期'].dt.month
dfagg = df.groupby(['month','天气']).size().resetindex()
dfagg.columns = ['month','tianqi','count']
设置全局变量
- 创建一个timeline对象,用于存储多个Bar图表
- 设置播放间隔为1000毫秒
timeline = Timeline()
timeline.addschema(playinterval=1000)
显示图像
- 对每个月份的数据进行处理,生成Bar图表对象
- 将天气作为x轴,数量作为y轴,反转坐标轴
- 设置标签位置为右侧
- 设置图表的标题为'西安2023年每月天气变化'
- 将图表添加到timeline中,并设置图表对应的时间节点
- 最后调用timeline对象的rendernotebook()方法在Jupyter Notebook中显示图表
for month in dfagg['month'].unique():
data = ( dfagg[dfagg['month']==month][['tianqi','count']]
.sortvalues(by='count',ascending=True)
.values.tolist() )
bar = Bar()
bar.addxaxis([x[0] for x in data])
bar.addyaxis('',[x[1] for x in data])
bar.reversalaxis()
bar.setseriesopts(labelopts=opts.LabelOpts(position='right'))
bar.setglobalopts(titleopts=opts.TitleOpts(title='西安2023年每月天气变化 '))
timeline.add(bar, f'{month}月')
timeline.rendernotebook()
这段代码将生成一个动态图表,展示西安2023年每个月不同天气类型出现的次数。图表会逐月播放,每个月份的图表会显示该月份不同天气类型的数量,并按数量升序排列。
原文地址: https://www.cveoy.top/t/topic/otZk 著作权归作者所有。请勿转载和采集!