卡通片墨卡托投影纵向范围的确定

2024-05-15 17:54:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着绘制一些以矩阵形式存在的数据,例如温度。这些数据是区域性的,所以我不需要全球地图。在

我有:

  1. 数据矩阵(mxn)
  2. 定义纬度(mx1)和经度(nx1)的向量

我想用卡通片和墨卡托投影来绘制它。但是,墨卡托只允许我定义最小和最大纬度,但不能定义最小和最大长度。这最后给了我一大片土地。在

Mercator(central_longitude=103.0,min_latitude=gridlat[0],max_latitude=gridlat[-1])

我该如何设置海岸地图的最小经度和最大经度? 最后,我只想把我的数据绘制出来,上面覆盖着国家边界,就像使用ncview一样。在


Tags: 数据定义地图绘制矩阵温度形式全球
1条回答
网友
1楼 · 发布于 2024-05-15 17:54:06

通常在选择投影时不设置贴图的范围,可以稍后使用创建的轴的set_extent方法进行设置。事实上,cartopy中的默认行为是根据绘制的数据调整范围,因此,您需要的应该是使用普通墨卡托投影进行绘图时发生的情况。以下是在地理坐标中明确设置范围的示例:

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

# Create Mercator projection with dateline in the middle:
ax = plt.axes(projection=ccrs.Mercator(central_longitude=180))
# Draw coastlines so we know where we are:
ax.coastlines()
# Set the map extent, making sure to specify the correct coordinate system
# for geographical coordinates:
ax.set_extent([90, 270, -40, 40], crs=ccrs.PlateCarree())
plt.show()

相关问题 更多 >