2017-06-26 24 views
1

我想繪製一個數據框的一列中的值的直方圖。我嘗試設置bin或binwidth參數,但無濟於事。 R在構建情節時說:「忽略未知參數:binwidth,bin,pad」。爲什麼R會忽略ggplot geom_histogram中的binwidth,bin?

ggplot(data=subset(flights, Distance < quantile(flights$Distance, 0.75)))+ geom_histogram(aes(x=Distance), stat='count', binwidth=100)

要繪製的變量是整數,距離爲航班的載體。

我試着將數據類型從整數改爲數字。

flights$Distance <- as.numeric(as.character(flights$Distance))

我試圖在一個較小的樣本,並得到了同樣的信息。

df <- data.frame(Distance=c(2,3,4,5,3,2,4,5,6,7,5,4,9,8,7,6,5,4,3,4,5,6,5))

ggplot(data=df)+ geom_histogram(aes(x=Distance), stat='count', binwidth=2)

爲什麼ggplot忽略了兩個可能斌參數?

+1

剛剛從調用'geom_histogram'刪除'STAT ='count''。 'geom_histogram'默認使用'stat =「bin」',這就是你想要的直方圖的屬性。 – eipi10

回答

1

也許this將有所幫助:

除以 x軸到箱中並且在每個 倉計數觀測值的數目可視化單一連續變量的分佈。直方圖(geom_histogram)顯示帶條的計數; 頻率多邊形(geom_freqpoly),用線顯示計數。 如果要比較分類變量級別上的 分佈,則頻率多邊形更合適。 stat_bin 僅適用於連續x數據。如果你的x數據是離散的,你可能想使用stat_count。

ggplot()+ 
    geom_histogram(data = df, aes(x=Distance), binwidth = 3) + 
       stat_count() 
+2

如果你想要一個直方圖,'stat_count()'是多餘的。 (儘管使用整數數據,'stat_count'會給你一個binwidth = 1的直方圖)。如果你在'geom_histogram'中添加'fill ='red'',你會看到'stat_count() '在柱狀圖頂部放置柱狀圖。你只是看不到它,因爲'geom_histogram'和'stat_count'使用相同的默認填充顏色。 – eipi10

+0

有趣。是否有可能看到'stat_count()'是如何將柱狀圖「置於頂部」?我試圖設置'fill =「red」'但沒有注意到任何東西。 – AK88

+2

啊,這是因爲你把數據和美學放在'geom_histogram'裏面,而不是在主要的ggplot調用中。所以'stat_count()'完全沒有做什麼,因爲它不知道數據框架或美學。對不起,我沒有仔細看你的代碼。如果將數據框和'aes'放在主ggplot調用中,則會看到兩組條。 – eipi10