0

我开始使用包 Cartopy for Python。我想在 Cartopy 包的帮助下显示匈牙利的地图。我正在使用以下代码。

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


def main():
    fig = plt.figure()
    ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree())
    ax.set_extent([20, 10, 20, 30], crs=ccrs.PlateCarree())

    ax.add_feature(cfeature.LAND)
    ax.add_feature(cfeature.OCEAN)
    ax.add_feature(cfeature.COASTLINE)
    ax.add_feature(cfeature.BORDERS)
    ax.add_feature(cfeature.LAKES, alpha=1, color="blue")
    ax.add_feature(cfeature.RIVERS)

    plt.show()


if __name__ == "__main__":
    main()

我不明白的是坐标是如何ax.set_extent([5, 16, 46.5, 56]工作的。这些是德国的坐标,我在网上找到的。我查了德国的经度/纬度,代码中的这些数字与它们无关。如果有人能解释这些坐标并给出匈牙利的坐标,我会很高兴。谢谢你。

4

1 回答 1

0

我想到了。可以使用以下代码创建的图像显示经度/纬度与负/正。 ax.set_extent([x_0, x_1, y_0, y_1]首先定义 x 平行范围,然后定义 y 平行范围。

import cartopy.crs as ccrs
import cartopy.feature as cfeature
import matplotlib.pyplot as plt
plt.figure(figsize=(18, 12))
map = plt.axes(projection=ccrs.PlateCarree())
grid_lines = map.gridlines(draw_labels=True)
map.coastlines()
于 2020-04-18T09:04:01.657 回答