2012-08-25 27 views
14

我想更改直方圖的默認x範圍。數據的範圍是從7到12.然而,默認情況下,直方圖從7開始到13結束。我希望它從6.5開始到12.5結束。然而,蜱應該從7到12.我該怎麼做?在直方圖中更改默認的x範圍matplotlib

import asciitable 
import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib.mlab as mlab 
import pylab 
from pylab import xticks 

data = asciitable.read(file) 
hmag = data['col8'] 
visits = data['col14'] 
origin = data['col13'] 


n, bins, patches = plt.hist(hmag, 30, facecolor='gray', align='mid') 
xticks(range(7,13)) 
pylab.rc("axes", linewidth=8.0) 
pylab.rc("lines", markeredgewidth=2.0) 
plt.xlabel('H mag', fontsize=14) 
plt.ylabel('# of targets', fontsize=14) 
pylab.xticks(fontsize=15) 
pylab.yticks(fontsize=15) 
plt.grid(True) 
plt.savefig('hmag_histogram.eps', facecolor='w', edgecolor='w', format='eps') 
plt.show() 

回答

34
plt.hist(hmag, 30, range=[6.5, 12.5], facecolor='gray', align='mid') 
+0

感謝您的答覆。但是,這樣做會出現以下錯誤: >> n,bin,patches = plt.hist(hmag,range = [6.5,12.5],30,facecolor ='gray',align ='mid') >> SyntaxError:關鍵字arg後的非關鍵字arg – Rohit

+1

您必須使用與上面所用相同的順序。在range關鍵字之後加上'30'將導致'Syntaxerror.' – tiago

+0

感謝它的工作! – Rohit

0
import matplotlib.pyplot as plt 


... 


plt.xlim(xmin=6.5, xmax = 12.5) 
+0

這不會保留箱參數中定義的箱數。 – mountrix

+0

這可以在python3下工作(假設你的xmin/xmax足夠大),你可以舉一個例子,它不會保持垃圾箱的數量? – Erich