前提
0,1,2,3,4がuint8で入っているデータを地図表示したいです。
地図表示はできているのですが、カラーバーの目盛りの位置がうまくあいません。
また、地図にgridのコードをいれていますが、うまく表示されません。
実現したいこと
・カラーバーの凡例A,B,C,D,Eをすべての色の真ん中(Cのように)なるようにしたいです。
・地図に5°ずつgridを表示させたいです。
ご存知の方いれば、教えていただきたいです。
該当のソースコード
Python
1#地図を呼び出して表示 2pixel=2500 #width 3line=2500 #height 4 5#lontitude and latitude 6west=125 7east=150 8south=25 9north=50 10 11#interval of x/y ticks 12x_int = 5 13y_int = 5 14 15fig=plt.figure(figsize=(10,8)) 16ax =plt.subplot(projection=ccrs.PlateCarree()) 17cmap=colors.ListedColormap(["#8ecae6","#344e41","#00ff33","#a3b18a","#d9ed92"]) 18ax.set_xticks(np.arange(west, east+1, x_int), crs=ccrs.PlateCarree()) 19ax.set_yticks(np.arange(south, north+1, y_int), crs=ccrs.PlateCarree()) 20 21cbar=fig.colorbar(im,ticks=[0,1,2,3,4]) 22cbar.ax.set_yticklabels(['A','B', 'C', 'D','E']) 23 24 25#for cartopy 26tick_box = [west, east, south, north] 27img_extent=(west, east, south, north) 28 29#natural earth 30ocean_50m = cfeature.NaturalEarthFeature('physical', 'ocean', '50m', 31 edgecolor='face', # same color with facecolor 32 facecolor='none') # use predefiend color of cartopy 33states_50m = cfeature.NaturalEarthFeature('cultural', 'admin_1_states_provinces_lines', '50m', 34 edgecolor='white', 35 facecolor='none') 36 37lon_formatter = LongitudeFormatter(zero_direction_label=False) 38lat_formatter = LatitudeFormatter() 39ax.xaxis.set_major_formatter(lon_formatter) 40ax.yaxis.set_major_formatter(lat_formatter) 41 42Image = ax.imshow(japan_uint8, cmap=cmap, origin='upper', extent=img_extent,) 43 44#cartopy: addition of geographic 45ax.add_feature(ocean_50m) #ocean 46ax.add_feature(states_50m, linewidth =1.0, zorder=8) #states border 47ax.coastlines(resolution='50m', color = "black", linestyle = "-", linewidth = 1.0, zorder=9) 48 49ax.grid(color="gray",lw=0.5, zorder=10) 50 51
補足情報(FW/ツールのバージョンなど)
jupyterlabを使用しています
あなたの回答
tips
プレビュー