我正在嘗試使用 ggplot 制作直方圖,其中每個 bin 的面積是每個 bin 中出現的總數。所以本質上,我希望將直方圖高度縮小一個 bin 高度。我可以毫無問題地創建一個正常的直方圖,但我不太確定如何以這種方式縮放直方圖。下面給出了資料和未縮放的直方圖。任何幫助將非常感激。
times <- c(71, 72, 73, 74, 75, 76, 77, 78, 79, 80)
occurrences <- c(2, 0, 3, 5, 4, 1, 3, 1, 0, 1)
df <- data.frame("times" = rep(times, occurrences))
ggplot(df, aes(times)) geom_histogram(breaks=seq(70.5,80.5,2),
colour = "black", size = 2) ylab("Frequencies") ylim(0,10)
ggtitle("Bin Width = 2 (un-scaled)")
uj5u.com熱心網友回復:
您可以y = ..count../2根據 bin 寬度添加縮放直方圖:
ggplot(df, aes(times))
geom_histogram(aes(y = ..count../2), breaks=seq(70.5,80.5,2), colour = "black", size = 2)
ylab("Frequencies") ylim(0,10)
ggtitle("Bin Width = 2 (scaled)")

uj5u.com熱心網友回復:
我認為您需要的是使用條形圖geom_col()
library(dplyr)
library(ggplot2)
df %>%
count(times) %>%
ggplot(aes(x=factor(times), y=n))
geom_col(colour = "black", size = 2)
ylab("Frequencies")
ylim(0,6)
xlab("times")

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/428869.html
