我想绘制一些遵循 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
类似这样的:
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')