ggplot 颜色标签

ggplot Colour-labelling

简单问题:我有下面的数据框df,我可以根据dflabel列绘制散点图和颜色标签:

if(!require("ggplot2")) { install.packages("ggplot2");  require("ggplot2") }
set.seed(1)
df <- data.frame(a= rnorm(30, mean=1, sd=1),
                b= rnorm(30, mean=5, sd =2),
                labels= sample(c(1,2,3), 30, replace=TRUE ))
ggplot(data= df, aes(x=a, y=b)) +  
geom_point(data= df, colour=df$labels, shape=1)

但是,我不知道如何指定标签的实际颜色(例如粉红色、品红色、青色)。

我尝试将下面的代码添加到 ggplot,但它不起作用:

scale_colour_manual( name = "Name", values = c(1 = "pink", 
                                               2 = "magenta",
                                               3 = "cyan"))  

如何在此上下文中指定颜色?

如果要在数据中指定颜色,则需要使用 aes。另外,如果要使用离散刻度,则需要使用factor。你应该引用 values 中的数字。

ggplot(data= df, aes(x=a, y=b)) +  
  geom_point(aes(colour=factor(labels)), shape=1) +
  scale_colour_manual( name = "Name", values = c("1" = "pink", 
                                                 "2" = "magenta",
                                                 "3" = "cyan"))