参考:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
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绘制轨迹图的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/caishunzhe/p/13640898.html