如何删除ggplot2中的额外月份

问题描述 投票:0回答:1

My Graph.我正在 Rstudio 中制作图表,我想要按时间顺序从六月到九月

ggplot(data = MyData, aes(x= Date, y = Length, color = ID)) +
  geom_boxplot() +
  scale_x_discrete(limits = month.name)

我使用了scale_*x_*discrete,但它将所有月份添加到了我的图表中。如何删除多余的内容?

r ggplot2 graph
1个回答
0
投票

幸运的是,有一个快速答案:month.name 是一年中每个月的对象。这就是为什么即使您将 MyData 过滤为仅包含有数据的月份,您的图表仍将继续显示没有数据的月份的占位符

您应该能够仅使用月份数据创建自己的对象并修复 x 轴缩放

months_with_data <- c("June", 
                  "July",
                  "August", 
                  "September")
 MyData %>% 
     ggplot(aes(x= Date, y = Length, color = ID)) +
     geom_boxplot() 
     scale_x_discrete(limits = months_with_data)

如果没有可重复的数据,我不知道如何使用数据更快地完成此操作。但它可能看起来像这样

months_with_data <- unique(MyData$month)

R 语言集体拥有帮助编写可重现示例的资源。带有可重现示例的问题可能会帮助您获得更快、更相关的答案。

© www.soinside.com 2019 - 2024. All rights reserved.