使用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 01 Python
python中合并两个文本文件并按照姓名首字母排序的例子
Apr 25 Python
使用C++扩展Python的功能详解
Jan 12 Python
python自动截取需要区域,进行图像识别的方法
May 17 Python
python实现手机销售管理系统
Mar 19 Python
Python脚本操作Excel实现批量替换功能
Nov 20 Python
python主线程与子线程的结束顺序实例解析
Dec 17 Python
基于python使用tibco ems代码实例
Dec 20 Python
python实现简单的购物程序代码实例
Mar 03 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
Mar 08 Python
详细介绍python类及类的用法
May 31 Python
Python OpenCV超详细讲解基本功能
Apr 02 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中OO之静态关键字以及类常量的详解
2013/06/07 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
PHP合并数组+号和array_merge的区别
2015/06/25 PHP
javascript div 弹出可拖动窗口
2009/02/26 Javascript
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
js利用数组length属性清空和截短数组的小例子
2014/01/15 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
2016/05/03 Javascript
jQuery 3.0中存在问题及解决办法
2016/07/15 Javascript
js实现按钮控制带有停顿效果的图片滚动
2016/08/30 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
2016/11/17 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
vue实现循环切换动画
2018/10/17 Javascript
微信小程序HTTP接口请求封装的实现
2019/02/21 Javascript
Javascript 对象(object)合并操作实例分析
2019/07/30 Javascript
javascript如何实现create方法
2019/11/04 Javascript
JavaScript实现Excel表格效果
2020/02/07 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
uni-app 自定义底部导航栏的实现
2020/12/11 Javascript
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
Python contextlib模块使用示例
2015/02/18 Python
python实现用户管理系统
2018/01/10 Python
python实现支付宝当面付(扫码支付)功能
2018/05/30 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
阿里旅行:飞猪
2017/01/05 全球购物
高中生操行评语
2014/04/25 职场文书
团日活动总结模板
2014/06/25 职场文书
纪检干部现实表现材料
2014/08/21 职场文书
2015年助残日活动总结
2015/03/27 职场文书
幼儿园奖惩制度范本
2015/08/05 职场文书
Python 实现定积分与二重定积分的操作
2021/05/26 Python
JS代码编译器Monaco使用方法
2021/06/11 Javascript