简单问题:我在下面有数据框df
,我可以根据label
的{{1}}列分散绘图和颜色标签:
df
但是,我不知道如何指定标签的实际颜色(例如粉红色,品红色,青色)。
我尝试将下面的代码添加到ggplot中,但它不起作用:
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)
如何在此上下文中指定颜色?
答案 0 :(得分:1)
如果要在数据中指定颜色,则需要使用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"))