这方面已经有一个旧的功能请求,目前仍然保持开放状态。因此,无论是哪个版本的matplotlib,都无法独立设置边距。
当然,您可以编写自己的函数来实现所需功能。
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()
ax.plot([1,2,3],[1,3,1])
def set_xmargin(ax, left=0.0, right=0.3):
ax.set_xmargin(0)
ax.autoscale_view()
lim = ax.get_xlim()
delta = np.diff(lim)
left = lim[0] - delta*left
right = lim[1] + delta*right
ax.set_xlim(left,right)
set_xmargin(ax, left=0.05, right=0.2)
plt.show()