Matplotlib 投影去除边距
Matplotlib projection remove margin
这是在
之上创建的美国各县的图片
ax = plt.axes(projection=ccrs.LambertConformal())
ax.set_extent([-120, -70, 20, 50], ccrs.Geodetic())
用plt.show()
可以看到的"live"图中,图形周围有一大片灰色区域。在这里你可以(不)通过白色填充看到它。
所以我想我可以再放大一点:
ax.set_extent([-120, -70, 20, 40], ccrs.Geodetic())
然后事情发生了:
虽然图形周围仍有白色 margin/padding,但突然被裁剪了。 "live image" 还向我展示了一些显然位于投影周围的白色边距。
我试了plt.tight_layout()
,确实去除了很多边距,但留下了一些(第二张图片是在收紧布局后拍摄的)。这种不可见的边距使得 ax.set_extent()
变得特别困难,因为直到可以扩展地图的地方我才能看到。
有什么方法可以去除投影周围所有隐藏的 padding/margin 吗?
您可以使用 subplots_adjust
:
要删除 Axes
对象周围的所有空格,请使用:
fig.subplots_adjust(left=0, right=1, bottom=0, top=1)
设置 extent
正在更改数据限制,而不是 Axes
的 position/size。
这是在
之上创建的美国各县的图片ax = plt.axes(projection=ccrs.LambertConformal())
ax.set_extent([-120, -70, 20, 50], ccrs.Geodetic())
用plt.show()
可以看到的"live"图中,图形周围有一大片灰色区域。在这里你可以(不)通过白色填充看到它。
所以我想我可以再放大一点:
ax.set_extent([-120, -70, 20, 40], ccrs.Geodetic())
然后事情发生了:
虽然图形周围仍有白色 margin/padding,但突然被裁剪了。 "live image" 还向我展示了一些显然位于投影周围的白色边距。
我试了plt.tight_layout()
,确实去除了很多边距,但留下了一些(第二张图片是在收紧布局后拍摄的)。这种不可见的边距使得 ax.set_extent()
变得特别困难,因为直到可以扩展地图的地方我才能看到。
有什么方法可以去除投影周围所有隐藏的 padding/margin 吗?
您可以使用 subplots_adjust
:
要删除 Axes
对象周围的所有空格,请使用:
fig.subplots_adjust(left=0, right=1, bottom=0, top=1)
设置 extent
正在更改数据限制,而不是 Axes
的 position/size。