Проблема размера метки галочки Python Xarray - PullRequest
0 голосов
/ 22 октября 2018

Я новичок в xarray и cartopy.Я хочу спросить, как я могу увеличить / уменьшить размер метки на x- / y-тиках.Ниже мой код.

fig = plt.figure(figsize=(18,8)) 
ax  = plt.axes(projection =ccrs.PlateCarree())   
ax.add_feature(cartopy.feature.LAND,facecolor='wheat') 
ax.add_feature(cartopy.feature.OCEAN) 
ax.add_feature(cartopy.feature.STATES, linestyle='-',lw=1.0,edgecolor='white') 
ax.add_feature(cartopy.feature.BORDERS, linestyle='-',lw=2.5,edgecolor='white') 
gp = ds.isel(time=0).gpm.plot.pcolormesh('lon','lat',ax=ax,
             infer_intervals=True,vmin=0,vmax=1600,cmap='jet',extend='both') 
ax.coastlines(resolution='50m',color='white') 
ax.add_feature(cartopy.feature.RIVERS) 
gl = ax.gridlines(color='gray',alpha=0.6,draw_labels=True) 
gl.xlabels_top, gl.ylabels_right = False, False 
ax.yaxis.tick_right() 
ax.set_ylim([18,32]) 
ax.set_xlim([-100,-77])  
ax.set_title('GPM Accumulated Rain (12Z Aug24 - 12Z Aug31)', fontsize=16) 
ax.set_aspect('equal') 
ax.tick_params('both',labelsize=30) 
plt.show()       

Я добавил tick_params для настройки размера метки, но размер шрифта по-прежнему соответствует размеру по умолчанию.Между тем, кто-нибудь может сказать мне, как переместить метку цветовой полосы в заголовок цветовой полосы?

Спасибо

1 Ответ

0 голосов
/ 23 октября 2018

Размер шрифта меток тиков можно установить, передав словарь стилей в Gridliner аналогично тому, как вы переключали верхнюю и правую метки:

gl.xlabel_style = {fontsize: 30}
gl.ylabel_style = {fontsize: 40}

В результате ваш код будет выглядеть следующим образом:

fig = plt.figure(figsize=(18,8)) 
ax  = plt.axes(projection =ccrs.PlateCarree())   
ax.add_feature(cartopy.feature.LAND,facecolor='wheat') 
ax.add_feature(cartopy.feature.OCEAN) 
ax.add_feature(cartopy.feature.STATES, linestyle='-',lw=1.0,edgecolor='white') 
ax.add_feature(cartopy.feature.BORDERS, linestyle='-',lw=2.5,edgecolor='white') 
gp = ds.isel(time=0).gpm.plot.pcolormesh('lon','lat',ax=ax,
             infer_intervals=True,vmin=0,vmax=1600,cmap='jet',extend='both') 
ax.coastlines(resolution='50m',color='white') 
ax.add_feature(cartopy.feature.RIVERS) 
gl = ax.gridlines(color='gray',alpha=0.6,draw_labels=True) 
gl.xlabels_top, gl.ylabels_right = False, False
gl.xlabel_style, gl.ylabel_style = {'fontsize': 30}, {'fontsize': 40}
ax.yaxis.tick_right() 
ax.set_ylim([18,32]) 
ax.set_xlim([-100,-77])  
ax.set_title('GPM Accumulated Rain (12Z Aug24 - 12Z Aug31)', fontsize=16) 
ax.set_aspect('equal') 
plt.show()

Который должен создавать сюжет, похожий на этот (минус данные): Plot with gridline labels of differing font size

На самом деле GeoAxis в Cartopy должен handle ax.tick_params('both', labelsize=30), но, похоже, это не передается при создании меток.Не стесняйтесь поднимать проблему в Cartopy GitHub репозитории , где сообщество разработчиков может исправить это.Или попробуйте исправить это самостоятельно, отправив запрос на извлечение!

...