假設我有一個資料框,其中包含我想在直方圖中可視化的數字陣列。我想要實作的是僅顯示包含超過 50 個觀察值的箱。
步驟1
set.seed(10)
x <- data.frame(x = rnorm(1000, 50, 2))
p <-
x %>%
ggplot(., aes(x))
geom_histogram()
p

第2步
pg <- ggplot_build(p)
pg$data[[1]]
作為我列印時的檢查,pg$data[[1]]我希望只有行 where count >= 50.
謝謝
uj5u.com熱心網友回復:
library(ggplot2)
ggplot(x, aes(x=x, y = ifelse(..count.. > 50, ..count.., 0)))
geom_histogram(bins=30)

使用此代碼,您可以查看已洗掉垃圾箱的數量:
library(ggplot2)
ggplot(x, aes(x=x, y = ifelse(..count.. > 50, ..count.., 0)))
geom_histogram(bins=30, fill="green", color="grey")
stat_bin(aes(label=..count..), geom="text", vjust = -0.7)

uj5u.com熱心網友回復:
你可以做這樣的事情,很可能你不太喜歡 x 軸上的分解名稱,但你可以做的是拆分這兩個值并取平均值來繪制 x 軸。
x %>%
mutate(bin = cut(x, breaks = 30)) %>%
group_by(bin) %>%
mutate(count = n()) %>%
filter(count > 50) %>%
ggplot(., aes(bin))
geom_histogram(stat = "count")

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/482739.html
上一篇:Ggplot2:在一個圖中使用scale_fill_manual()為geom_rect()和geom_line()創建圖例?
下一篇:為什么gplot2::labs()不覆寫/更新scales函式的name引數(即ggplot2::scale_*_(name=))?
