使用Python绘制台风轨迹图的示例代码


Posted in Python onSeptember 21, 2020

参考:

2.Basemap生成的图中绘制轨迹

使用CMA热带气旋最佳路径数据集,对我国周边的台风进行绘制

import re
import os
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap




path=r"E:\Computer Science\数学建模\第二次模拟赛题\附件"
files= os.listdir(path) #得到文件夹下的所有文件名称
data=[]
all=[]
for file in files: #遍历文件夹
  if not os.path.isdir(file): # 判断是否是文件夹,不是文件夹才打开
    f = open(path + "/" + file) # 打开文件
    tmp=f.readlines()
    for i in tmp:
      line=i.split()
      if(line[0]=='66666'):
        if(len(all)>0):
          data.append(all)
        # print(line)
        all=[]
      else:
        we=(int(line[2])*0.1,int(line[3])*0.1)
        all.append(we)
# print(data)
print(len(data))
CHN='E:\Computer Science\数学建模\python_basemap'
plt.figure(figsize=(20,12))
map=Basemap(llcrnrlon=70,llcrnrlat=2,urcrnrlon=170,urcrnrlat=58)
map.drawcoastlines()
map.drawcountries()
#添加河流
# map.drawrivers(color='blue',linewidth=0.3)
#添加大陆
map.readshapefile(CHN+'\gadm36_CHN_shp\gadm36_CHN_1',
         'states',color='blue',drawbounds=True)
map.readshapefile(CHN+'\gadm36_TWN_shp\gadm36_TWN_1',
         'taiwan',color='blue',drawbounds=True)
#添加经纬线
parallels = np.linspace(3,55,5)
# print(parallels)
map.drawparallels(parallels,labels=[False,True,False,False],fontsize=5)
meridians = np.linspace(70,170,5)
# print(meridians)
map.drawmeridians(meridians,labels=[False,False,False,True],fontsize=5)
plt.rcParams['savefig.dpi'] = 300 #图片像素
plt.rcParams['figure.dpi'] = 300 #分辨率

ans=1
x=[]
y=[]
for typhoon in data:
  length=len(typhoon)
  print("%d is process!" % ans)
  ans += 1
  for i in range(length):
    x.append(typhoon[i][1])
    y.append(typhoon[i][0])
  # print(x,y)
  # map.plot(x, y, 'c*-', linewidth=2)
  map.plot(x, y, color='r',linewidth=1.5)
  x = []
  y = []
map.fillcontinents()
plt.title(r'$China\ Typhoon$',fontsize=24)
# plt.ylim(70, 170)
# plt.xlim(2, 58)
plt.show()

效果图:

使用Python绘制台风轨迹图的示例代码

以上就是使用Python绘制台风轨迹图的示例代码的详细内容,更多关于Python绘制轨迹图的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python中使用item()方法遍历字典的例子
Aug 26 Python
linux 下实现python多版本安装实践
Nov 18 Python
利用python画一颗心的方法示例
Jan 31 Python
python通过pip更新所有已安装的包实现方法
May 19 Python
Python连接Redis的基本配置方法
Sep 13 Python
python3使用matplotlib绘制散点图
Mar 19 Python
Python 实现微信防撤回功能
Apr 29 Python
python如何删除文件中重复的字段
Jul 16 Python
Django 使用easy_thumbnails压缩上传的图片方法
Jul 26 Python
PyTorch中Tensor的拼接与拆分的实现
Aug 18 Python
使用Python实现牛顿法求极值
Feb 10 Python
python3通过udp实现组播数据的发送和接收操作
May 05 Python
利用python绘制中国地图(含省界、河流等)
Sep 21 #Python
python利用google翻译方法实例(翻译字幕文件)
Sep 21 #Python
python统计mysql数据量变化并调用接口告警的示例代码
Sep 21 #Python
python3.8动态人脸识别的实现示例
Sep 21 #Python
如何在Anaconda中打开python自带idle
Sep 21 #Python
Python 实现国产SM3加密算法的示例代码
Sep 21 #Python
python如何实现DES加密
Sep 21 #Python
You might like
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
检查用户名是否已在mysql中存在的php写法
2014/01/20 PHP
php自动加载autoload机制示例分享
2014/02/20 PHP
PHP生成随机密码类分享
2014/06/25 PHP
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
PHP整合PayPal支付
2015/06/11 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
js GridView 实现自动计算操作代码
2009/03/25 Javascript
关于javascript document.createDocumentFragment()
2009/04/04 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
两种方法解决javascript url post 特殊字符转义 + & #
2016/04/13 Javascript
浅谈JavaScript中的分支结构
2016/07/01 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
快速入门Vue
2016/12/19 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
2017/01/10 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
2018/08/29 Javascript
通过实例解析js可枚举属性与不可枚举属性
2020/12/02 Javascript
python实现在sqlite动态创建表的方法
2015/05/08 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
Python模块相关知识点小结
2020/03/09 Python
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
青年创业培训欢迎词
2014/01/08 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书
微信小程序结合ThinkPHP5授权登陆后获取手机号
2021/11/23 PHP
业余无线电通联Q语
2022/02/18 无线电
世界十大儿童漫画书排名,法国国宝漫画排第五,第二是轰动日本连环
2022/03/18 欧美动漫
SQL CASE 表达式的具体使用
2022/03/21 SQL Server
搭建Yolov5服务器
2022/04/30 Servers