参考:
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' ,
'*' ,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[ '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