在ggplot中手动分配颜色

use*_*343 1 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()
Run Code Online (Sandbox Code Playgroud)

这给了我以下情节:在此输入图像描述

现在,我想为这些点着色,并根据重复项给出点的形状.在数据提供对应于第一三个值A是复制的比较(1-2, 1-3,2-3)同样地,对于C,(1-2, 1-3,2-3).

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

csg*_*pie 5

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

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

然后我们绘制并拥有colourshape美学:

ggplot(dd, aes(x=name,y=cor)) + 
   geom_point(aes(colour=rep, shape=rep))
Run Code Online (Sandbox Code Playgroud)

要得到:

在此输入图像描述