10

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

沿顶部边缘运行的频率响应

您看不到该函数,因为它在绘图边缘运行。

有没有办法在这些情况下自动添加一些边距,使它们看起来像这样:

带有少量噪声的频率响应

4

1 回答 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 问题来请求这个。

于 2013-01-24T09:41:13.220 回答