gpt4 book ai didi

r - ggplot2 中的颜色误差线

转载 作者:行者123 更新时间:2023-12-04 17:50:07 27 4
gpt4 key购买 nike

对于示例数据框:

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

我想给误差条的不同部分涂上颜色 - 即。下面是蓝色,上面是红色?是否可以用这种方式为误差条的每个单独的尾部着色?

最佳答案

这是一个 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)

dual-color error bar plot

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

关于r - ggplot2 中的颜色误差线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45732232/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com