在图表边缘处添加边距
我在使用matplotlib绘图的时候,经常会遇到这样的图:
你会发现函数的部分看不清,因为它正好贴在图的边缘上。
有没有什么方法可以自动添加一些边距,这样图看起来就像这样:
1 个回答
19
你可以使用 ax.margins()
来设置图表的 边距。下面是一个例子:
In [1]: fig, ax = plt.subplots()
In [2]: ax.plot(np.arange(10), '-o')
Out[2]: [<matplotlib.lines.Line2D at 0x302fb50>]
In [1]: fig, ax = plt.subplots()
In [2]: ax.margins(0.05)
In [3]: ax.plot(np.arange(10), '-o')
Out[3]: [<matplotlib.lines.Line2D at 0x302fb50>]
你也可以只设置 x 轴或 y 轴的边距。不过,这似乎不是 matplotlibrc
的一个选项,所以你不能简单地把它设为默认行为(也就是说,它不是完全自动的)。我在 GitHub 上开了一个问题 来请求这个功能。