错误栏通过打开的符号显示

jsl*_*che 6 symbols r ggplot2

我有一对点略有偏移的点.每对点都有相关的误差线.我已经指定该对中第一个点的符号与第二个点的符号不同(闭合圆与开圆).我希望它可以通过打开的符号显示错误栏.

这是一个模拟数据集:

x = runif(4,-2,2)
x_1 = runif(4,-1,3)
dfr <- data.frame(
 x = c(x, x_1),
 y = rep(c("A","B","C","D"), 2),
 upper = c(x+2, x_1+1),
 lower = c(x-2, x_1-2),
 type = rep(c("alpha", "beta"), each = 4))
Run Code Online (Sandbox Code Playgroud)

这是情节:

dodge=position_dodge(width=0.5)  
ggplot(dfr,aes(x=y,y=x,colour=type)) + 
    geom_point(size=8,aes(shape=type),position=dodge) +
    geom_errorbar(aes(ymax=upper,ymin=lower),position = dodge) + 
    scale_colour_manual(values = c('gray','black')) +
    scale_shape_manual(values = c(19,21)) +
    coord_flip() + 
    opts(legend.position="none")
Run Code Online (Sandbox Code Playgroud)

rplot

感谢您的任何帮助,您可以提供!

And*_*rie 4

我想不出一种方法来制作“开放”点并且不让错误栏显示低谷。执行此操作的唯一方法是使用与背景相同的颜色填充点,但是这样您的网格线将不会通过该点可见。

为此,请将fill美感映射到类型,并指定scale_fill_manual填充颜色grey90theme_grey设置:

ggplot(dfr,aes(x=y,y=x,colour=type, fill=type)) + 
    geom_errorbar(aes(ymax=upper,ymin=lower),position = dodge) + 
    geom_point(size=8,aes(shape=type),position=dodge) +
    scale_colour_manual(values = c('gray','black')) +
    scale_fill_manual(values=c('grey', 'grey90')) +
    scale_shape_manual(values = c(19,21)) +
    coord_flip() + 
    opts(legend.position="none")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述