【Python】可视化台风路径轨迹图

台风天要带多少钱出门?

答案是:四千万。因为台风天没四(事)千万不要出门

这不最近又到了台风频发的季节。作为没有四千万的沿海人,多关注一下天气预报还是有必要的。

那么今天呢,就给大家讲一个:用Python绘制台风路径轨迹图的可视化案例。

此案例中用到的核心绘图库是:plotly。plotly库是一个可交互,基于浏览器的绘图库,功能非常强大, 可以在线绘制常见的条形图、散点图、饼图、直方图等。

在这里插入图片描述

涉及到的内容:

requests+json – 网页数据爬取

openpyxl – 保存数据至Excel

os.walk() – 文件路径遍历

pandas – 表格数据处理

plotly – 地图数据可视化

1. 数据爬取

1.1 网页分析

数据来源:中国天气台风网(http://typhoon.weather.com.cn/index.shtml)

以2020年为例,打开网址查看2020年台风列表:

在这里插入图片描述

去年有记录的台风一共有23个,编号2001~2023。

1.2 查看网页台风数据

F12调试模式,以编号2001为例:

在这里插入图片描述

可以看到轨迹数据在页面返回的getData字符串中,内部数据为json格式。

在这里插入图片描述

数据包含:台风名称、时间(间隔1小时)、经度、纬度、风速、移动方向、移动速度等等。

对于浏览器调试模式还不熟悉的同学,可以看之前的文章:爬虫必备工具,掌握它就解决了一半的问题

1.3 数据爬取

单个台风轨迹爬取,需要输入年份和台风编号:

Python学习交流Q群:906715085###
def get_tp_data(year, code):
    tim = int(time.time())
    url = f'http://d1.weather.com.cn/typhoon/typhoon_data/{
     year}/{
     code}.json?callback=getData&_={
     tim}'
    headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36' }
    r = requests.get(url,headers=headers)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    datas = json.loads(r.text[8:-1])
    tp_name = datas['typhoon'][2]
    detail_datas = datas['typhoon'][8
  • 7
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
数据结构关键路径可视化是指利用Qt框架进行开发,将数据结构的关键路径形化的形式展示出来。 首先,我们可以使用Qt提供的形界面设计工具创建一个主窗口,用于显示关键路径可视化结果。可以设置合适的窗口大小、背景颜色以及其他相关属性。 接下来,我们需要设计一个数据结构的表示方法,以便能够在形界面中呈现出来。可以使用Qt提供的绘功能,绘制数据结构中的节点和边,通过合适的线段和箭头表示各项任务之间的依赖关系。 然后,我们需要根据关键路径算法的结果,将关键路径的节点和边进行特殊标记,以便在形界面中清晰地显示出来。可以通过改变节点和边的颜色、线型或加粗等方式来实现标记功能。 在可视化过程中,我们还可以考虑添加其他功能,如鼠标交互、拖拽等,以提高用户体验。例如,用户可以通过鼠标点击某个节点或边,查看该节点或边的详细信息;用户还可以通过拖拽节点或边来改变任务之间的依赖关系,进而重新计算关键路径。 最后,我们需要将实现好的可视化结果显示在主窗口中,并通过Qt提供的事件循环机制来响应用户的操作,从而实现对关键路径可视化。 综上所述,使用Qt对数据结构关键路径进行可视化,可以帮助用户更直观地理解和分析数据结构的关键路径,提高工作效率和准确性。通过形化的界面展示,用户可以轻松地查看关键路径的结构和特点,更好地进行数据结构的优化和调整。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值