Matplotlib /底图:根据相关值绘制具有不同颜色的线

时间:2018-09-18 13:34:00

标签: python matplotlib

我有一组纬度/经度点,代表飓风的中心,还有第三组风速。我正在尝试将飓风绘制为一条连接纬度/经度的线,但要根据该位置的风速为线着色各种颜色。

我已经在matplotlib中看到了有关如何执行此操作的各种线程,但是在转换为底图时遇到了麻烦。

下面的代码是将整个线条绘制成绿色的基本方法,但是作为一个菜鸟,我在应用我看到的关于列出的颜色表的内容时遇到的困难在底图论坛中正常工作。可能是因为我误解了如何将风速值与点关联起来。 (我有很多不正确的代码尝试使用这些代码,以至于我因为混淆自己而跳过了任何代码)。虽然我将发布列出的颜色图以供参考。

在顶部,我只会画20-30点,所以时间和资源不是问题。

在尝试应用线段或列出的颜色图时,我是否脱离了基础?感谢任何帮助!

map = Basemap(projection='merc',llcrnrlat=lowlat,urcrnrlat=highlat,llcrnrlon=leftlon,urcrnrlon=rightlon,lat_ts=30,resolution='i',area_thresh=10000)
map.drawmapboundary()
map.drawcoastlines(linewidth=0.50)
map.drawcountries(linewidth=0.25)
map.drawstates(linewidth=0.25)
map.drawmeridians(np.arange(0,360,10),labels=[0,0,0,1],fontsize=10)
map.drawparallels(np.arange(-90,90,10),labels=[1,0,0,0],fontsize=10)
plt.title(ensupper + ' Tropical Cyclone ' + storm +' ' + cyd + ' ' + cyc + 'UTC Cycle' )


lat = [33.7, 32.9, 32.1, 31.5, 31.0, 30.7, 30.5, 30.4, 30.0, 29.4, 29.6, 29.9, 29.7]
lon = [-27.1, -26.6, -26.6, -26.6, -26.9, -27.4, -28.0, -28.5, -28.9, -29.9, -30.9, -31.4, -32.3]
wind = [49, 44, 53, 60, 69, 77, 86, 85, 85, 74, 75, 62, 44]

x,y = map(lat,lon)
map.plot(x,y,color='green',linestyle='solid',linewidth=1, markersize=1)

cmap = ListedColormap(['black', 'saddlebrown', 'green', 'gold', 'darkorange', 'red', 'purple'])
norm = BoundaryNorm([0, 33, 64, 83, 95, 113, 134, 300], cmap.N)

0 个答案:

没有答案