ggplot geom_point 中的重叠颜色

问题描述 投票:0回答:1

我想绘制一些遵循 2 个变量和过度颜色的点。 感谢这篇文章,我得到了如下所示的接近结果

library(ggplot2)
data=data.frame(x=1:4,y=1:4,var1=c(1,0,0,1),var2=c(0,1,NA,1))
ggplot(data,aes(x,y))+
  geom_point(aes(color=as.factor(var1)),alpha=0.5,size=3)+
  geom_point(aes(colour=as.factor(var2)),alpha=0.5,size=1)

我的目标是用灰色/黄色 0/1 为 var1 着色,用灰色/蓝色 0/1 为 var2 着色,并有绿色重叠(相同大小)

创建于 2024-01-21,使用 reprex v2.0.2

r ggplot2 alpha geom-point
1个回答
0
投票

类似这样的:

library(tidyverse)

data_long <- data %>% 
  pivot_longer(c(var1, var2)) %>% 
  mutate(color = case_when(
    name == "var1" & value == 1 ~ "yellow",
    name == "var2" & value == 1 ~ "blue",
    .default = "grey")
    )

ggplot(data_long, aes(x, y, color = color))+
  geom_point(data = data_long %>% 
               filter(name == "var1"), alpha = 0.5, size = 9) +
  geom_point(data = data_long %>% 
               filter(name == "var2"), alpha = 0.9, size = 3) +
  scale_color_identity(guide = 'legend') 

© www.soinside.com 2019 - 2024. All rights reserved.