我想创建一个Cleveland点图,其中线段根据较大值的标识进行着色.下面的代码是基于代码here
我快到了,但问题是,我不希望"是"和"不是"出现在传说中.由于点和段图层都映射到 colored颜色 ,我不知道如何关闭一个图层的图例,而不是另一个.show.legend
在这种情况下似乎没有任何效果.
value1 <- abs(rnorm(26))*2
data <- data.frame(
x=LETTERS[1:26],
value1=value1,
value2=value1+1+rnorm(26, sd=1)
) %>%
mutate(gt=ifelse(value1>value2,'yes','no'))
dataLong <- data %>% select(-gt) %>% pivot_longer(cols=-x)
ggplot() +
geom_segment(data=data, aes(x=x, xend=x, y=value1, yend=value2,color=gt),show.legend = FALSE) +
geom_point(data=dataLong, aes(x=x,y=value,color=name),size=3) +
coord_flip() +
scale_color_manual(values=c(yes='red',no='blue',value1='red',value2='blue'))