Python 条形图matplotlib中的额外空白

Python 条形图matplotlib中的额外空白,python,matplotlib,Python,Matplotlib,我正在创建下面的情节,它似乎在右边留下了一些额外的空白,我不知道为什么 生成上述内容的代码如下所示: import matplotlib.pyplot as plt d1 = (0,1,3,6,4,2,2,59,4,3,4,4,33,3,2,5,61) d2 = (6,7,9,4,4,4,3,19,4,1,11,28,13,8,15,28,28) d3 = (6,7,9,4,4,4,3,19,4,1,14,28,13,8,15,28,32) N = len(d1) ind = np.ara

我正在创建下面的情节,它似乎在右边留下了一些额外的空白,我不知道为什么

生成上述内容的代码如下所示:

import matplotlib.pyplot as plt

d1 = (0,1,3,6,4,2,2,59,4,3,4,4,33,3,2,5,61)
d2 = (6,7,9,4,4,4,3,19,4,1,11,28,13,8,15,28,28)
d3 = (6,7,9,4,4,4,3,19,4,1,14,28,13,8,15,28,32)

N = len(d1)
ind = np.arange(N)
width = 0.2

font = {'family' : 'sans-serif', 'weight' : 'normal', 'size' : 10}
matplotlib.rc('font', **font)

fig,ax = plt.subplots()
rects1 = ax.bar(ind, MA_DPU, width, color='r', alpha=0.7)
rects2 = ax.bar(ind+width, res1, width, color='b', alpha=0.7)
rects3 = ax.bar(ind+2*width, res2, width, color='g', alpha=0.7)

ax.set_xticks(ind+width*1.5)

plt.show()

尝试设置
轴的
xlim

ax.set_xlim(0, 16.4)
plt.show()
为方便起见,您可以使用:

避免手动设置
xlim

可选参数及其默认值为:


plt.autoscale(enable=True,axis='both',tight=None)

效果很好,你知道它为什么会默认生成这个吗?我只是对发生在allI的事情感到惊讶。我更新了答案,添加了一些关于自动缩放的评论
plt.autoscale()