各位用户为了找寻关于使用Python绘制台风轨迹图的示例代码的资料费劲了很多周折。这里教程网为您整理了关于使用Python绘制台风轨迹图的示例代码的相关资料,仅供查阅,以下为您介绍关于使用Python绘制台风轨迹图的示例代码的详细内容
参考:
1.Basemap绘制中国地图
2.Basemap生成的图中绘制轨迹
使用CMA热带气旋最佳路径数据集,对我国周边的台风进行绘制
? 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 71import
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_shpgadm36_CHN_1'
,
'states'
,color
=
'blue'
,drawbounds
=
True
)
map
.readshapefile(CHN
+
'gadm36_TWN_shpgadm36_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