matplotlib:删除轴之间的水平间隙?

2024-09-24 12:33:23 发布

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

我似乎无法让子片区之间的水平间隙消失。有什么建议吗?在

代码:

plt.clf()
fig = plt.figure()
for i in range(6):
    ax = fig.add_subplot(3,2,i)

    frame_range = [[]]

    ax.set_xlim(-100000, 1300000)
    ax.set_ylim(8000000, 9100000) 
    ax.set_aspect(1)
    ax.set_xticks([])
    ax.set_yticks([])
    ax.set_frame_on(False)

    ax.add_patch(dt.PolygonPatch(provs[0],fc = 'None', ec = 'black'))


fig.tight_layout(pad=0, w_pad=0, h_pad=0)
plt.subplots_adjust( wspace=0, hspace=0)

plt.savefig(wd + 'example.png')

为这段代码发布了示例,并保留了记号和边框。在

{1美元^

Example 2


Tags: 代码add水平figrangepltaxframe
1条回答
网友
1楼 · 发布于 2024-09-24 12:33:23

您正在为图设置两个并发规则。在

一是轴线方面

ax.set_aspect(i)

这将迫使情节始终遵循1:1的比例。在

另一种方法是将h_space和{}设置为零。在这种情况下,matplotlib将尝试更改轴的大小,以将空间减少到零。将“纵横比”设置为1时,只要其中一条边彼此接触,轴的大小将不再更改。这会产生间隙,使图形在水平方向上分开。在

有两种方法可以迫使他们彼此靠近。在

  • 可以更改地物宽度以使它们彼此更接近。在
  • 您可以设置左边缘和右边缘的间距,使它们彼此更接近。在

使用您给出的示例,我修改了几行来说明使用左右间距可以做些什么。在

^{pr2}$

结果应该像下图所示。 重要的是要记住,如果你调整窗口的大小,绘图将被再次分开,这取决于你使它更高/更短、更宽/更窄。在

希望有帮助 Grid distribution

相关问题 更多 >