2014-05-16 65 views
0

我正在製作各種數據集的直方圖,並希望它們都使用相同的箱子,以便它們很容易進行比較。看起來,如果bin分佈比數據集大得多,那麼hist會忽略該範圍並使其變小。例如:Python pyplot.hist忽略範圍,如果它大於數據集?

x=[random.randrange(1,10) for _ in xrange(1000)] 

plt.hist(x, 50, range=[0, 100]) 
plt.show() 

我只從0-10而不是50從0-100中得到5個垃圾箱。我假設我缺少一些對其他人顯而易見的參數?

謝謝!

回答

0
In [37]: plt.hist(x, 50, range=[0,100]) 
Out[37]: 
(array([ 103., 228., 233., 228., 208., 0., 0., 0., 0., 
      0., 0., 0., 0., 0., 0., 0., 0., 0., 
      0., 0., 0., 0., 0., 0., 0., 0., 0., 
      0., 0., 0., 0., 0., 0., 0., 0., 0., 
      0., 0., 0., 0., 0., 0., 0., 0., 0., 
      0., 0., 0., 0., 0.]), 
array([ 0., 2., 4., 6., 8., 10., 12., 14., 16., 
      18., 20., 22., 24., 26., 28., 30., 32., 34., 
      36., 38., 40., 42., 44., 46., 48., 50., 52., 
      54., 56., 58., 60., 62., 64., 66., 68., 70., 
      72., 74., 76., 78., 80., 82., 84., 86., 88., 
      90., 92., 94., 96., 98., 100.]), 
<a list of 50 Patch objects>) 

函數返回箱和補丁。正如你在這裏看到的那樣,那裏實際上有50個垃圾箱。 matplotlib只是選擇在沒有更多數據的地方剪掉數字。

+0

嗯..那麼我怎麼能告訴它不要做那個剪輯? – user1483697

+0

好吧,所以它看起來像設置自動縮放到假沒有解決它,但設置x範圍似乎工作。 – user1483697