R语言中是否存在支持双色点的pch符号或颜色映射美学?
有序分类变量的双色灰度点可视化需求
当绘制可视为有序变量的分类变量图形时,我常遇到这样的问题:用红、蓝、绿这类彩色区分分组,没法体现变量的顺序性;用纯灰度映射时,3-4组还能清晰区分,但分组数到5及以上时,灰度差异就很难分辨了。
我希望用白、半白半灰、灰、半灰半黑、黑这类双色渐变的点样式,来更清晰地体现变量的顺序性。目前我已经找到一种通过绘制半圆来创建双色点的迂回方法,但想知道在R中有没有类似pch符号的直接实现方式。
示例数据与现有尝试
示例数据
# library(ggplot2) mydata1 <- data.frame("var1" = sample(c(1:12), 12), "var2" = sample(c(1:12), 12), "group" = letters[1:3]) # 3组 mydata2 <- data.frame("var1" = sample(c(1:12), 12), "var2" = sample(c(1:12), 12), "group" = letters[1:4]) # 4组 mydata3 <- data.frame("var1" = sample(c(1:10), 10), "var2" = sample(c(1:10), 10), "group" = letters[1:5]) # 5组
纯灰度映射的效果
3组和4组时,纯灰度映射能清晰体现顺序:
# 3组灰度可视化 ggplot(data = mydata1, aes(var1, var2, color = group)) + geom_point() + scale_color_grey(start = 0, end = 1) # 4组灰度可视化 ggplot(data = mydata2, aes(var1, var2, color = group)) + geom_point() + scale_color_grey(start = 0, end = 1)
但分组数到5组时,灰度差异难以区分:
# 5组灰度可视化(区分度差) ggplot(data = mydata3, aes(var1, var2, color = group)) + geom_point() + scale_color_grey(start = 0, end = 1)
常规彩色映射无法体现顺序性,如果能有支持双色点的颜色美学,就能扩展灰度在多分组有序变量中的适用场景。
内容的提问来源于stack exchange,提问作者Miguel Menéndez
相关产品推荐
相关产品推荐

