簡體   English   中英

Matplotlib直方圖:綠色和藍色垃圾箱

[英]Matplotlib Histogram: Green and Blue Bins

我正在使用pyplot來制作直方圖。 這是我正在做的事情:

import numpy as np
import pylab as pl

A = {my dataset as a dictionary: different numbers and their frequencies}
numbers = A.keys()
frequencies = A.values()
plot = np.transpose(np.array([[numbers,frequencies]])
n = <my bins-value here>
pl.hist(plot,bins=n,log=True)
pl.show()

我注意到,無論我指定的箱數是多少,第二個箱子總是綠色,如下所示。 它為什么是綠色的? 這是什么意思? 我該如何防止這種情況發生?

在此輸入圖像描述

你真的不能使用hist的方式。 hist 計算給定原始數據的值頻率。 您已經計算了頻率,並且您嘗試將它們傳遞給hist ,但這不是輸入hist需要的。 當您傳入二維數組時, hist會顯示多個直方圖,每列一個。 記錄如下:

可以通過x提供多個數據作為可能不同長度([x0,x1,...])的數據集列表,或者作為2-D nararray,其中每列是數據集。

所以你得到一個條形圖(藍色的)用於你的標簽,另一個(綠色的)用於它們的計數。 據推測,所有的綠色都集中在一起,因為它們的范圍要小得多。

如果您從原始數據生成頻率,則可以將原始數據傳遞給hist以獲取直方圖。 如果您只有直方圖數據,則應使用matplotlib的bar函數自行使用直方圖數據制作條形圖。 但是,你必須自己裝箱。 最重要的是你可以讓hist做所有事情,或者什么都不做:你可以讓它計算頻率和箱子並做圖,或者你可以計算頻率和箱子並做圖,但你不能只是自己計算頻率,並讓hist只進行分箱和繪圖。

暫無
暫無

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

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