我是R的新手,根据给定的代码,我在散点图中手动将颜色应用于点时遇到了很大的问题。代码由我的csv文件中名为" code"的列中的字母(a,b,e,o,p,r,w,y)定义。
我已经尝试了几个小时在我的散点图上添加这一层(我将免除你在这些时间内写的所有奇怪的代码)。
我的观点是:我希望能够告诉代码,如果有一个" e"在代码列中,然后为点米色着色。如果有一个" y",将点黄色等等......我可以设法根据代码中的字母获取颜色,但它不是我定义的颜色。
我想要的颜色:
scale_color_manual(code = c(a = "palegoldenrod", b = "tan3", e = "burlywood1", o = "darkorange1", p = "mediumorchid3", r = "red4", w ="ghostwhite", y = "goldenrod1"))
csv文件看起来像这样(共有88行):
size percentage code
4.5 2.02 e
4.5 2.72 e
5.3 9.83 y
4.1 0.45 w
4.1 0.71 w
4.0 0.46 w
到目前为止我的代码是:
Data = read.csv("L:/Pseudoalteromonas/Genomecoverage/coverage2.csv", sep=";)
scplot <- ggplot(data=Data, aes(x=size, y=percentage, fill = code))+
geom_point(shape = 21, size = 4)+
geom_hline(size=1,aes(yintercept=7.5))
dev.off()
谢谢: - )
答案 0 :(得分:0)
我认为这就是你要找的东西:
library(ggplot2)
dt <- data.frame(x=seq(1,8),
y=seq(10,80,10),
code=c("a","b","e","o","p","r","w","y"))
ggplot(data=dt, aes(x=x, y=y, fill = code))+
geom_point(shape = 21, size = 4) +
scale_fill_manual(values = c("a" = "palegoldenrod",
"b" = "tan3",
"e" = "burlywood1",
"o" = "darkorange1",
"p" = "mediumorchid3",
"r" = "red4",
"w" ="ghostwhite",
"y" = "goldenrod1"))