簡體   English   中英

繪制具有數據間隔的直方圖

[英]Plotting a histogram with data intervals

我嘗試導入數據文件,然后 plot 使用此數據生成直方圖。 我能夠讀取數據文件,但是我無法將其轉換為帶有間隔的正確直方圖。 我使用以下代碼導入數據:

data = np.loadtxt("data.dat", delimiter =';', dtype = str)

我正在分享幾行數據以提供見解:

pup1;20.0;
pup2;40.0;
pup3;70.0;
pup4;90.0;

問題是我想為 2 個區間分別創建 0-50 和 51-100 的直方圖。

我使用了以下代碼:

students = d[:,1]
grades = d[:,0]
bins = [0, 50, 100]
plt.hist(d, bins=bins, edgecolor='black')
plt.ylabel('Grades')
plt.xlabel('Students')

Bins 獲取您想要將數據平均划分為的間隔數。 所以在你的情況下,bins = 2。 您可以使用 range 參數來指示您希望將 0 到 100 之間的范圍划分為 2 個 bin。 直方圖的數據也只是成績。 這是一個例子:

grades = np.random.randint(0,100,30)
print(grades)

plt.hist(grades, bins=2, edgecolor = 'k', range = (0,100))
plt.xlabel('grades')
plt.ylabel('distribution of grades')
plt.show()

#grades
[22 48 18 11 12 29 37 91 48 85 83 12 36 78 83 84 87 89 20 17 79 73 36 74
 92 51 93 51 40 65]

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM