我有一个包含30个因子的数据集,我正在制作散点图。我希望将shape
和color
结合使用,这样我就不会使用30种颜色(当然,当调色板太大时,它们基本上无法区分 - 请参阅示例)
想法是使用7-8种颜色与4种形状相结合,为每个因素创建一个独特的作业。例如,在下图中,我们可以将因子1-8视为正方形,将9-16视为三角形,将17-24视为圆形,将25-30视为菱形。
# Example code
library(ggplot2)
d <- data.frame(my_x = rnorm(n = 30, -0.2, 0.2),
my_y = rnorm(n = 30, 0.2, 0.2),
my_labels = as.character(1:30))
ggplot(d, aes(x = my_x, y = my_y, color = my_labels, shape = my_labels)) +
geom_abline() +
geom_point() +
lims(x = c(-1,1), y = c(-1,1))
我考虑创建一些包含这两个级别的自定义美学映射,但这似乎不是我迄今为止搜索过的一项微不足道的任务。我尝试添加两个包含重复因子d$color
和d$shape
的列,并在aes( )
调用中使用它们,但之后我无法合并这些图例。
# Add color-shape mapping
d$color <- as.character(c(rep(c(1:8), 3), c(1:6)))
d$shape <- as.character(c(rep(1,8), rep(2,8), rep(3,8), rep(4,6)))
感谢任何帮助。