在ggplot2中结合美学(例如形状,颜色和线型)以增加视觉调色板

时间:2016-09-26 16:25:24

标签: r ggplot2

我有一个包含30个因子的数据集,我正在制作散点图。我希望将shapecolor结合使用,这样我就不会使用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))

My_plot

我考虑创建一些包含这两个级别的自定义美学映射,但这似乎不是我迄今为止搜索过的一项微不足道的任务。我尝试添加两个包含重复因子d$colord$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)))

感谢任何帮助。

0 个答案:

没有答案