我有一个数据框(见下文),我想改变ggplot2中绘图的颜色,这样所有的A都是红色,B是蓝色,C是黑色,D是黄色。
myDF
label A B C D
lab1 0.69 0.65 0.73 0.71
lab2 0.43 0.41 0.47 0.41
lab3 0.53 0.47 0.57 0.53
lab4 0.55 0.47 0.60 0.55
lab5 0.53 0.47 0.58 0.53
我尝试了以下内容:
p <- ggplot(myDF, aes(x=label))
+ geom_point(aes(y=A))
+ geom_point(aes(y=B))
+ geom_point(aes(y=C))
+ geom_point(aes(y=D))
+ scale_colour_manual(values=c("A"="red", "B"= "blue", "C"="black", "D"="yellow"))
但它给了我一个错误。如果我不添加scale_colour_manual部分,它会给出正确的绘图但是所有的黑点。我怎样才能做到这一点?提前谢谢!
答案 0 :(得分:2)
首先将数据转换为长格式。我会在白色上重新考虑黄色。
library(tidyr)
library(ggplot2)
myDF %>%
gather(key, value, -label) %>%
ggplot(aes(label, value)) + geom_point(aes(color = key)) +
scale_colour_manual(values=c("red", "blue", "black", "yellow"))