Python 3.x 为什么在绘制熊猫、matplotlib和seaborn的图形时会出现不必要的空白?

Python 3.x 为什么在绘制熊猫、matplotlib和seaborn的图形时会出现不必要的空白?,python-3.x,pandas,matplotlib,seaborn,Python 3.x,Pandas,Matplotlib,Seaborn,每当我使用matplotlib或seaborn绘制图形时,在绘图的两侧以及绘图的顶部和底部总是有一些空白。(x_0,y_0)不在左下角,x_0向右偏移一点,y_0出于某种原因向上偏移一点?我将在下面用“ggplot”样式演示一个快速示例,以便清楚地了解我的意思: import numpy as np import pandas as pd import matplotlib.pyplot as plt plt.style.use('ggplot') fig = plt.figure() x =

每当我使用matplotlib或seaborn绘制图形时,在绘图的两侧以及绘图的顶部和底部总是有一些空白。(x_0,y_0)不在左下角,x_0向右偏移一点,y_0出于某种原因向上偏移一点?我将在下面用“ggplot”样式演示一个快速示例,以便清楚地了解我的意思:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.style.use('ggplot')

fig = plt.figure()
x = np.linspace(0,5,11)
ax = fig.add_axes([0.1,0.1,1,1])
ax.plot(x,x**2)

如何将(0,0)移到左下角,以及如何消除y>25,x>5的不必要空间


谢谢。

要无边框,您可以使用
set\u xlim
set\u ylim

ax.set_xlim([0, 5])
ax.set_ylim([0, 25])

完整代码:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.style.use('ggplot')

fig = plt.figure()
x = np.linspace(0,5,11)
ax = fig.add_axes([0.1,0.1,1,1])
ax.plot(x,x**2)
ax.set_xlim([0, 5])
ax.set_ylim([0, 25])
plt.show()
或者:

x = np.linspace(0,5,11)
plt.xlim((0,5))
plt.ylim((0,25))
plt.plot(x,x**2);

空白是由。在不明确更改轴限制的情况下消除这些限制的更好方法是设置0-margins

plt.style.use('ggplot')

fig = plt.figure()
x = np.linspace(0,5,11)
ax = fig.add_axes([0.1,0.1,1,1])
ax.margins(x=0,y=0)
ax.plot(x,x**2)

好的,我在这个具体的例子中看到了它是如何工作的,但是当我使用seaborn创建诸如箱线图之类的图形时,我会遇到同样的问题,在这种情况下我该如何解决它?