使用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函数参数类型*、**的区别
Apr 11 Python
Python生成随机验证码的两种方法
Dec 22 Python
Python浅复制中对象生存周期实例分析
Apr 02 Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 Python
Python实现的微信好友数据分析功能示例
Jun 21 Python
Python3实现对列表按元组指定列进行排序的方法分析
Dec 22 Python
Python实现的列表排序、反转操作示例
Mar 13 Python
python爬虫项目设置一个中断重连的程序的实现
Jul 26 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
Jan 10 Python
python入门之基础语法学习笔记
Feb 08 Python
基于Python实现简单学生管理系统
Jul 24 Python
python实现经纬度采样的示例代码
Dec 10 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 魔术方法使用说明
2009/10/20 PHP
php微信开发自定义菜单
2016/08/27 PHP
PHP内置加密函数详解
2016/11/20 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
Javascript Cookie读写删除操作的函数
2010/03/02 Javascript
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
javascript中用星号表示预录入内容的实现代码
2011/01/08 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
2012/10/15 Javascript
javascript:history.go()和History.back()的区别及应用
2012/11/25 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
js实现带农历和八字等信息的日历特效
2016/05/16 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
2017/08/10 jQuery
详解AngularJS1.x学习directive 中‘& ’‘=’ ‘@’符号的区别使用
2017/08/23 Javascript
VUE + UEditor 单图片跨域上传功能的实现方法
2018/02/08 Javascript
原生JS实现简单的无缝自动轮播效果
2018/09/26 Javascript
微信小程序获取用户信息并保存登录状态详解
2019/05/10 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
Python入门篇之列表和元组
2014/10/17 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
Django用户身份验证完成示例代码
2020/04/03 Python
意大利顶级奢侈品电商:LUISAVIAROMA(支持中文)
2020/05/26 全球购物
卫校中专生个人自我评价
2013/09/19 职场文书
乡镇干部先进事迹材料
2014/02/03 职场文书
廉洁使者实施方案
2014/03/29 职场文书
2014年行政人事工作总结
2014/12/09 职场文书
晚会开幕词
2015/01/28 职场文书
工厂门卫岗位职责
2015/04/13 职场文书
幼儿园庆元旦主持词
2015/07/06 职场文书
OpenCV绘制圆端矩形的示例代码
2021/08/30 Python
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技