当绘图针对图形边缘运行时添加边距

时间:2013-01-24 03:14:44

标签: python matplotlib plot

通常当我在matplotlib中绘图时,我会得到这样的图形:

frequency response running along top edge

您无法看到该功能,因为它会在绘图边缘运行。

在这些情况下,有没有办法自动添加一些余量,所以它们看起来像这样:

frequency response with tiny amount of noise

1 个答案:

答案 0 :(得分:16)

您可以使用ax.margins()设置margins。例如:

In [1]: fig, ax = plt.subplots()

In [2]: ax.plot(np.arange(10), '-o')
Out[2]: [<matplotlib.lines.Line2D at 0x302fb50>]

without margin

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>]

with margin

您也可以只设置x或y边距。但是它似乎不是matplotlibrc选项,因此您可以简单地将其设置为默认行为(因此它不是完全自动的)。我打开了github issue来请求这个。