使用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的Django框架完成视频处理任务的教程
Apr 02 Python
CentOS6.5设置Django开发环境
Oct 13 Python
浅谈django model的get和filter方法的区别(必看篇)
May 23 Python
Python实现的寻找前5个默尼森数算法示例
Mar 25 Python
python 筛选数据集中列中value长度大于20的数据集方法
Jun 14 Python
pycharm 配置远程解释器的方法
Oct 28 Python
python socket 聊天室实例代码详解
Nov 14 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
May 11 Python
python 抓取知乎指定回答下视频的方法
Jul 09 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
Jul 31 Python
浅谈python数据类型及其操作
May 25 Python
Python Matplotlib绘制等高线图与渐变色扇形图
Apr 14 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
从零开始 教你如何搭建Discuz!4.1论坛
2006/07/07 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
php使用glob函数快速查询指定目录文件的方法
2014/11/15 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
window.open被浏览器拦截后的自定义提示效果代码
2007/11/19 Javascript
简单谈谈json跨域
2016/03/13 Javascript
JavaScript Ajax编程 应用篇
2016/07/02 Javascript
深入理解js generator数据类型
2016/08/16 Javascript
bootstrap多种样式进度条展示
2016/12/20 Javascript
jQuery弹出层插件popShow用法示例
2017/01/23 Javascript
react学习笔记之state以及setState的使用
2017/12/07 Javascript
Vue 递归多级菜单的实例代码
2019/05/05 Javascript
layui 地区三级联动 form select 渲染的实例
2019/09/27 Javascript
django文档学习之applications使用详解
2018/01/29 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
学习python可以干什么
2019/02/26 Python
Python面向对象之类和实例用法分析
2019/06/08 Python
Python中的类与类型示例详解
2019/07/10 Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
2020/02/21 Python
python 如何停止一个死循环的线程
2020/11/24 Python
HTML5 拖拽批量上传文件的示例代码
2018/03/28 HTML / CSS
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
质量承诺书格式
2014/05/20 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
老公出轨后的保证书
2015/05/08 职场文书
培训班开班主持词
2015/07/02 职场文书
2015年除四害工作总结
2015/07/23 职场文书
礼仪培训心得体会
2016/01/22 职场文书
Java Kafka 消费积压监控的示例代码
2021/07/01 Java/Android
新手初学Java网络编程
2021/07/07 Java/Android