使用 ggplot2 我想在二维中绘制两个向量(vec1_num,vec2_num),并通过组变量(vec3_char)为点着色。一些数据点重叠。
library(ggplot2)
vec1_num = c(1,2,3,4,1,3,4,5,5,5)
vec2_num = c(1,2,3,4,1,3,4,5,5,5)
vec3_char = c("A", "B", "C", "A", "B", "C", "C", "A", "B", "C")
# plot 1
ggplot(data = NULL) +
geom_point(aes(x=vec1_num, y=vec2_num, colour=vec3_char), alpha=0.4, size=4) +
scale_colour_manual(values=c("A"="darkblue", "B"="darkred", "C"="orange")) +
theme(panel.grid = element_blank())
我知道我可以通过减少 alpha 或使用 geom_jitter 添加一些噪音来减弱重叠。像这样:
# plot 2
ggplot(data = NULL) +
geom_jitter(aes(x=vec1_num, y=vec2_num, colour=vec3_char), alpha=0.4, size=4, width = 0.1) +
scale_colour_manual(values=c("A"="darkblue", "B"="darkred", "C"="orange")) +
theme(panel.grid = element_blank())
但是,是否可以使用 plot 1 但对重叠点进行不同的着色?因此,例如,“A”=“darkblue”,“AB”=“black”,“ABC”=“grey”,“B”=“darkred”,“BC”=“pink”,“C”=橙色”?我是否可以另外添加一个小的维恩图(图例)来可视化点重叠的颜色选择?
谢谢!