簡體   English   中英

Cartopy:為什么不能添加功能 LAND 工作?

[英]Cartopy: Why can't add feature LAND working?

我想使用 cartopy 繪制海面溫度圖的平均強度。

結果如下:
結果在此處描述

我想澄清一下,我想用平均強度填充海洋地圖,用面部顏色設置填充陸地地圖。

%%time

# figure
fig = plt.figure(figsize=(15, 20))

fig, ax = plt.subplots()

# cartopy
ax = plt.axes(projection=ccrs.Mercator())

ax.coastlines()

gl = ax.gridlines(draw_labels=True, alpha=0.6)

ax.add_feature(cfeature.LAND, facecolor='0.5', edgecolor='black')

gl.xlabels_top = False

gl.ylabels_right = False

gl.xformatter = LONGITUDE_FORMATTER

gl.yformatter = LATITUDE_FORMATTER

gl.xlocator = mticker.FixedLocator(np.arange(94,145, 10))

gl.ylocator = mticker.FixedLocator(np.arange(-20,8, 10))

gl.xlabel_style = {'size':8, 'color':'k'}

gl.ylabel_style = {'size':8, 'color':'k'}

extent = [94, 145, -20, 8]

ax.set_extent(extent)


dnc_gridded.Average_Intensity.plot(ax=ax,
                            transform=ccrs.PlateCarree(),
                            colors="Reds",
                            extend='both',
                            cbar_kwargs={'spacing': 'proportional',
                                         'label':'Deg C'})
  1. 即使我嘗試了幾個尺寸集,圖形尺寸也沒有改變。 我不能讓它更大。

  2. 關於 cfeature.land,我將 facecolor 設置為 0.5,但它似乎不起作用。 它適用於擴展的繪圖區域。 我注意到“平均強度”變量繪制在土地地圖上而不是 facecolor 上。 如果我想將其與海洋區分開來,我需要指定級別或輪廓。

真正的問題是我有幾個變量,並且它們都有不一致的土地顏色,因為我需要重新編寫每個級別的顏色。

  1. 附加問題,如何繪制(度)符號? 在這段代碼中,我只是制作了 Deg C,因為我無法制作度數符號的上標

有人對如何正確繪制這張地圖有任何想法嗎?

  1. 調用fig, ax = plt.subplots()覆蓋之前聲明的fig 您只需要創建一次fig並在該調用中指定 figsize,即fig, ax = plt.subplots(figsize=(15, 20))

  2. 不清楚你在這里問什么,請澄清。 如果您希望 cfeature.land 在您的輪廓上繪制,請設置zorder

  3. 對“matplotlib 度數符號”的簡單搜索會顯示這個 SO 問題以及您需要的確切答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM