【问题标题】:Extreme values with ggplot histogramggplot 直方图的极值
【发布时间】:2016-05-20 21:29:32
【问题描述】:

我正在尝试使用ggplot() 绘制直方图,但是我无法处理极值。我希望它们被放在一个垃圾箱中(例如,称为“500 及更多”)。

我已经尝试过scale_x_continuous(breaks = seq(0,500, by = 50)) 函数,但它只是从 x 轴上删除标签(附在下面)关于如何处理这个问题的任何想法?

【问题讨论】:

  • 能否请您发布数据以便我们使用它?
  • 最好的办法是先对数据进行分箱,然后制作条形图而不是直方图。
  • 结果将不再是直方图。
  • @Roland 为什么不呢?直方图不是在 y 轴上带有分箱 x 轴和频率的条形图吗?
  • @Zimano 在直方图中不允许像“500 及更多”这样的无限 bin。

标签: r ggplot2 outliers


【解决方案1】:

我建议在绘图之前计算计数。使用函数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)

【讨论】:

  • 这很有效,同时也非常清晰地呈现出来!非常感谢,感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2021-04-08
  • 2020-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-07
  • 2016-06-14
  • 1970-01-01
相关资源
最近更新 更多