根据R中的代码将颜色应用于散点图中的点

时间:2017-10-31 13:43:29

标签: r colors scatter-plot

我是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()

谢谢: - )

1 个答案:

答案 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"))