自定义分类阈值轴在R中以连续刻度断开

时间:2018-05-07 09:09:09

标签: r ggplot2 axis threshold continuous

考虑以下情节:

library(ggplot2)
ggplot(mtcars, aes(mpg, wt)) +
  geom_point(aes(colour = factor(cyl))) +
  scale_y_continuous(name = "Weight", breaks = c(2, 3, 4, 5))

是否有人知道替换例如5有一个分类中断,如“5以上”,这三个观察出现在这个创建的断裂线上?我正在寻找一种方法来在一个情节中包含异常值而不会偏离它但仍然能够显示与它们相关的信息(在这种情况下,它们的mpg值)而不是完全排除它们。

以下代码:

library(ggplot2)
ggplot(mtcars, aes(mpg, wt)) +
  geom_point(aes(colour = factor(cyl))) +
  scale_y_continuous(name = "Weight", breaks = c(2, 3, 4, >5), labels = c(2, 3, 4, "Above 5")))

由于“>”而无效休息时的符号。有什么建议?谢谢。

1 个答案:

答案 0 :(得分:0)

我发现在绘图之前的简单数据操作程序给出了我想要的。

library(dplyr)
mtcars <- mtcars %>%  mutate(wt2 = case_when(wt < 5  ~ wt,
                              wt > 5 ~ 5))

上面的代码会将值5赋给任何高于5的mpg值,以便它们出现在同一个断行上。然后我可以绘制,并且点的重叠可以显示alpha值的变化。

  library(ggplot2)
ggplot(mtcars, aes(mpg, wt2)) +
  geom_point(aes(colour = factor(cyl), alpha = 0.2, size = 2)) +
  scale_y_continuous(name = "Weight", breaks = c(2, 3, 4, 5), labels = c(2, 3, 4, "Above 5"))

感谢您的评论。