2013-08-05 49 views
3

我正在創建以下圖,它似乎在右側留下了一些額外的空白區域,我並不完全確定爲什麼。條形圖中的額外空白區matplotlib

enter image description here

上述生成的代碼如下:

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() 

回答

6

嘗試設置你的Axesxlim

ax.set_xlim(0, 16.4) 
plt.show() 

爲了方便起見,你可以使用"plt.autoscale()"

plt.autoscale() 

避免手動設置xlim

的默認值的可選參數爲:

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

+0

這偉大的工作,你有什麼想法,爲什麼它生成的默認?我只是很驚訝它發生在所有 – sedavidw

+1

我已經更新了答案,增加了一些關於'autoscale' –