在Matplotlib中以编程方式为图表侧边添加间距

9 投票
1 回答
4064 浏览
提问于 2025-04-17 18:04

我在用Matplotlib画很多图的时候,发现外面的数据点总是靠近图的边缘,这样就遮住了很多重要的数据。比如,我想做的事情是:

f, ax = subplots(1, 1)
ax.plot([0, 1], [.25, .5], "o")

按照现在的设置,我得到的图表x轴从0到1,这样很难看出数据的整体情况(而且还浪费了很多空间)。

我希望能有一种方法来重设x轴的范围,这样一来:a) 每边都能增加一些空间,b) x轴的刻度能够覆盖整个x轴,并且间隔合理(默认的间隔)。显然,在单独的情况下我可以用ax.set_xlim()和ax.set_xticks()来调整,但我生成的图表很多,事先不知道怎样调整才是最好的。

在Matplotlib中有没有什么选项可以设置x轴覆盖的数据范围的百分比,或者类似的功能?

1 个回答

10

使用 Axe.margins() 可以设置x轴和y轴的边距。

ax.margins(0.1, 0.1)

(文档)

撰写回答