全国24小时降水量pyecharts可视化分析

全国24小时降水量pyecharts可视化分析

分享一个小案例,爬虫抓取天气预报网站的降水量数据,并利用pyecharts库进行可视化生成动态的热力图。数据获取网站如下所示。

http://www.nmc.cn/publish/observations/24hour-precipitation.html

关键词:爬虫、动态网页、pyecharts可视化、降水量

在这里插入图片描述
在这里插入图片描述

一、导入相关库

import requests
import json
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Timeline
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import GeoType

二、主要代码

如需要生成不同日期的降雨量热力图,只需要修改date的数值即可。

date = 20220920 # 修改日期即可,格式参考示例
tl = Timeline()

def data_to_24list(data):
    data_24_list = []
    for i in range(1, 24):
        if i < 10:
            data_24_list.append(str(data) + '0' + str(i))
        else:
            data_24_list.append(str(data) + str(i))
    data_24_list.append(str(data) + '00')
    return data_24_list


for data in data_to_24list(date):
    print(f'现在日期为{data}....')
    URL = f'http://www.nmc.cn/rest/real/rain/hour24/{data}'
    req = requests.get(URL)
    temp = json.loads(req.text)
    D = str(data)
    temp_pd = pd.DataFrame(temp['data']['data'])
    temp_pd.columns = ["pname", "name", "code", "lng", "lat", "value", "url"]

    map0 = (
        Geo().add_schema(maptype='china',
                         label_opts=opts.LabelOpts(is_show=False))  # 展示地区名称
        .add(series_name='',
             data_pair=[(i, j) for i, j in zip(temp_pd.pname, temp_pd.values)],
             type_=GeoType.HEATMAP)
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title=f"{D[:4]}-{D[4:6]}-{D[6:8]} 24小时降水量Geo"),
            visualmap_opts=opts.VisualMapOpts(max_=250),
        ))
    tl.add(map0, f"{D[:4]}-{D[4:6]}-{D[6:8]}-{D[8:]}")
tl.render("./24_timeline_rain_Geo.html")
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值