修复ggplot()

时间:2018-12-25 02:21:43

标签: r date ggplot2 axes continuous

我无法让ggplot()在y轴上显示所有连续数据,同时又在x轴上保持分类变量的正确顺序。这是我当前的代码:

s3 <- ggplot(summary3, aes(x = Date, y = True.Leaves, shape = Location)) +  
  geom_errorbar(aes(ymin = True.Leaves - se, ymax = True.Leaves + se), width = .1) + 
  facet_wrap(~ Vegetation) + 
  geom_point(size = 5) + 
  labs(x = "Date", y = "Seedling Counts") + 
  scale_x_discrete(limits = c("11/30/15", "10/22/16", "11/19/16", "12/14/16", "1/18/17", 
                              "2/16/17", "3/19/17", "4/17/17", "5/17/17", "6/17/17", 
                              "7/12/17", "8/6/17", "9/21/17", "10/12/17", "11/20/17", 
                              "12/14/17") )

但是,这会导致出现以下错误消息,我知道这是发生的,因为y轴需要扩展以包括延伸到0轴以下的误差线。

1: Removed 20 rows containing missing values (geom_errorbar). 
2: Removed 20 rows containing missing values (geom_point).

我的问题是我不能在不弄乱x轴的情况下更改y轴的比例。如果我添加+ scale_y_continuous(limits = c(-2,15))+ coord_cartesian(ylim = -2:15),错误消息就会消失,但是我的x轴上的日期顺序会更改并按数字进行组织(从1/18/17而不是11开始) / 30/15),即使我已明确将此变量设置为一个因子,而不是整数。是否发生这种情况取决于ggplot函数中scale_y_continuous()scale_x_discrete()参数是第一位的顺序-哪个先占主导地位。

我也尝试将x轴设置为日期而不是类别变量,但是第一个日期(11/30/15)比其他日期提前一年,我希望所有日期都间隔开同样,不基于是否已经过去了更多时间。

非常感谢您的帮助!

0 个答案:

没有答案