如何去除直方图中的低频区间
How to remove low frequency bins in histogram
假设我有一个数据框,其中包含我想在直方图中可视化的数字数组。我想要实现的是只显示包含超过 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]]
时的检查,我希望只有 count >= 50
.
的行
谢谢
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)
你可以这样做,很可能你真的不喜欢 x-axis 上的分解名称,但你可以做的是拆分两个值并取平均值来绘制那个x-axis.
x %>%
mutate(bin = cut(x, breaks = 30)) %>%
group_by(bin) %>%
mutate(count = n()) %>%
filter(count > 50) %>%
ggplot(., aes(bin)) +
geom_histogram(stat = "count")
假设我有一个数据框,其中包含我想在直方图中可视化的数字数组。我想要实现的是只显示包含超过 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]]
时的检查,我希望只有 count >= 50
.
谢谢
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)
你可以这样做,很可能你真的不喜欢 x-axis 上的分解名称,但你可以做的是拆分两个值并取平均值来绘制那个x-axis.
x %>%
mutate(bin = cut(x, breaks = 30)) %>%
group_by(bin) %>%
mutate(count = n()) %>%
filter(count > 50) %>%
ggplot(., aes(bin)) +
geom_histogram(stat = "count")