【问题标题】:Colour error bars in ggplot2ggplot2中的颜色误差条
【发布时间】:2018-01-25 16:46:31
【问题描述】:

对于示例数据框:

df <- structure(list(site = structure(c(1L, 1L, 1L, 1L, 3L, 3L, 3L, 
                                         3L, 3L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 2L, 2L, 2L, 2L), .Label = c("1 - JL", 
                                                                                                         "11 - KT", "2 - SSD", "3 - USSD", "4 - MES"), class = "factor"), 
                      x = c(3L, 4L, 2L, 2L, 4L, 6L, 1L, 3L, 6L, 4L, 4L, 5L, 3L, 
                            3L, 3L, 1L, 2L, 5L, 4L, 1L), y = c(3L, 5L, 3L, 5L, 4L, 3L, 
                                                               5L, 2L, 6L, 4L, 3L, 5L, 5L, 5L, 6L, 3L, 4L, 3L, 4L, 2L), 
                      type = structure(c(1L, 2L, 3L, 4L, 1L, 2L, 3L, 3L, 4L, 3L, 
                                         3L, 3L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L), .Label = c("a", 
                                                                                             "b", "c", "d"), class = "factor"), y_upper.error = c(2L, 
                                                                                                                                                  4L, 2L, 4L, 3L, 2L, 4L, 1L, 5L, 3L, 2L, 4L, 4L, 4L, 5L, 2L, 
                                                                                                                                                  3L, 2L, 3L, 1L), y_lower.error = c(4.5, 6.5, 4.5, 6.5, 5.5, 
                                                                                                                                                                                     4.5, 6.5, 3.5, 7.5, 5.5, 4.5, 6.5, 6.5, 6.5, 7.5, 4.5, 5.5, 
                                                                                                                                                                                     4.5, 5.5, 3.5)), .Names = c("site", "x", "y", "type", "y_upper.error", 
                                                                                                                                                                                                                 "y_lower.error"), class = "data.frame", row.names = c(NA, -20L
                                                                                                                                                                                                                 ))

我正在创建一个带有误差线的图表。

g <- ggplot (df, aes(x=x, y=y, shape = type)) +
  geom_point() +
  scale_shape_manual(values=c(21,15,25,18)) + #makes open circle/triangle
  facet_wrap(~site, ncol=2)+
  geom_errorbar(aes(ymin=y_lower.error, ymax=y_upper.error), colour="red")

g

我希望为误差线的不同部分着色 - 即。下面是蓝色,上面是红色?是否可以以这种方式为错误栏的每个单独的尾部着色?

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    这是一个 hack 解决方案,将误差线分成两个(下尾到 y,y 到上尾)并分别为它们着色:

    ggplot(df2, aes(x=x, y=y, shape = type))+
      geom_errorbar(aes(ymin=y, ymax=y_upper.error), colour="blue", width = 0.1) +
      geom_errorbar(aes(ymin=y_lower.error, ymax=y), colour="red", width = 0.1) +
      geom_point() +
      scale_shape_manual(values=c(21,15,25,18)) + #makes open circle/triangle
      facet_wrap(~site, ncol=2)
    

    我缩短了误差线尾部的宽度,以便它们(大约)被geom_point 覆盖。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-24
      • 2023-03-29
      • 2014-11-17
      • 2016-01-17
      • 2018-11-26
      • 2021-11-18
      • 1970-01-01
      • 2023-01-12
      相关资源
      最近更新 更多