2015-09-12 67 views
3

我想繪製一個直方圖,它將每個x值與圖上的y值對齊。我試圖使用多個資源,但不幸的是我無法找到任何東西。這是我可以編寫直方圖的最佳方式。用給定的x和y值繪製直方圖

x = (1,2,3,4,5) 
y = (1,2,3,4,5) 

h=plt.hist(x,y) 
plt.axis([0, 6, 0, 6]) 
plt.show() 

我想,看起來像下面的圖片沒有那些在X軸上的一個圖表:

enter image description here

+0

你能請更新您的代碼,包括您所使用的圖書館嗎? –

+0

無。我沒有使用任何庫。圖表顯示出來,但是很混亂。這沒有意義。 – krazzy

+0

'import plt'導致ImportError:沒有名爲'plt'的模塊 –

回答

6

從你的情節和初始密碼,我可以收集你已經擁有的bin以及2個矢量x和y中的頻率值。在這種情況下,您只需繪製這些值的條形圖,而不是使用plt.hist命令的直方圖。你可以做到以下幾點:

import matplotlib.pyplot as plt 

x = (1,2,3,4,5) 
y = (1,2,3,4,5) 

plt.bar(x,y,align='center') # A bar chart 
plt.xlabel('Bins') 
plt.ylabel('Frequency') 
for i in range(len(y)): 
    plt.hlines(y[i],0,x[i]) # Here you are drawing the horizontal lines 
plt.show() 

Bar chart with bins and values