簡體   English   中英

在繪制帶有Cartopy的地圖時如何修改邊距?

[英]How can I modify the margins when I plot map with cartopy?

我使用cartopy(以下代碼)繪制世界地圖。 我已經設置為ax = fig.add_axes([0, 0, 1, 1]) 但是,輸出映射始終在幀上顯示較大的邊距。 我想將地圖顯示為全屏或全尺寸圖像。
如何設置繪圖的邊距?

import cartopy.crs as ccrs
import cartopy.feature as cfeature
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_axes([0, 0, 1, 1])
ax = plt.axes(projection=ccrs.PlateCarree())

ax.add_feature(cfeature.LAND)
ax.add_feature(cfeature.OCEAN)
ax.add_feature(cfeature.COASTLINE)
ax.add_feature(cfeature.BORDERS)
ax.outline_patch.set_visible(False)

plt.show()

在這里輸出img

您正在創建兩個軸。

  1. ax = fig.add_axes([0, 0, 1, 1])這是緊緊位於圖形上的軸
  2. ax = plt.axes(projection=ccrs.PlateCarree())這是顯示世界地圖的軸,但具有通常的邊距。

您當然可以決定其中之一,然后刪除另一個,例如

ax = fig.add_axes([0, 0, 1, 1], projection=ccrs.PlateCarree())

這將創建一個軸,該軸緊密地位於圖形的一側 原因是該地圖具有固定的長寬比,並且與圖中的不同。

因此,要使軸沿圖的兩側緊緊,還需要設置圖的大小。 世界地圖的縱橫比為0.5,因為它的水平方向為360單位,垂直方向為180單位。 因此,圖形寬度需要是圖形高度的兩倍。 例如

fig = plt.figure(figsize=(7, 3.5))
ax = fig.add_axes([0, 0, 1, 1], projection=ccrs.PlateCarree())

結果:

在此處輸入圖片說明

暫無
暫無

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

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