使用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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录