【发布时间】:2021-12-31 14:11:01
【问题描述】:
使用 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”=橙色”?我可以另外添加一个小的维恩图(图例)来可视化点重叠的颜色选择吗?
谢谢!
【问题讨论】:
标签: r ggplot2 overlap geom-point