在ggplot中手动分配颜色

时间:2013-10-18 13:19:52

标签: r ggplot2

我有以下数据

 corsub <- c(-0.0495, -0.1291, 0.0305,-0.0192,  0.0941, 0.00026)
 namesub <- c("A", "A", "A", "C", "C", "C")
 plotdata <- data.frame(name=namesub,cor=corsub)
 ggplot(plotdata,aes(x=name,y=cor))+geom_point()

这给了我以下情节:enter image description here

现在,我想为这些点着色,并根据重复项给出点的形状。在提供的数据中,与A对应的前三个值是重复比较(1-2, 1-3,2-3),对C(1-2, 1-3,2-3)也是如此。

我想将特定颜色的所有1-2,特定颜色的1-3以及特定颜色的2-3手动着色。并给出一个解释三种重复比较的三种颜色的关键。

1 个答案:

答案 0 :(得分:5)

您只需要使用复制信息创建一个新列。首先,我们更新您的数据框,以获得新列rep

dd = data.frame(name=namesub,cor=corsub)
dd$rep = c("1-2", "1-3", "2-3")

然后我们绘制并colourshape美学:

ggplot(dd, aes(x=name,y=cor)) + 
   geom_point(aes(colour=rep, shape=rep))

获得:

enter image description here