我正在尝试使用ggplot()
绘制直方图但是我无法处理极端值。我希望它们能够在一个bin中进行组合(例如,称为“500以上”)。
我尝试了scale_x_continuous(breaks = seq(0,500, by = 50))
功能,但它只是从x轴上删除标签(附在下面)有关如何处理此问题的任何想法吗?
答案 0 :(得分:4)
我建议在绘图前计算计数。使用函数cut()
,您可以根据需要设置中断,并使用geom_bar()
绘制这些数据。在geom_bar()
内设置width = 1将删除栏之间的空格。
library(dplyr)
library(ggplot2movies)
data("movies")
df<-movies %>% mutate(length.class=cut(length,breaks=c(seq(0,500,50),10000))) %>%
group_by(length.class) %>% summarise(count=n())
ggplot(df,aes(length.class,count))+geom_bar(stat="identity",width=1)