感谢二位关注与回复。
使用颜色的原因是:我使用了WGCNA方法来得到共表达的基因模块,该方法的其他图中使用不同颜色来展示各个模块,所以在这里我也想把模块对应的颜色加上,保持前后文一致,以及便于阅读。
使用这个方法:
ggplot(data = df, mapping = aes(x = group, y = value)) +
facet_grid(. ~ color) +
geom_point(aes(group = variable , color = color)) +
geom_line(aes(group = variable, color = color)) +
scale_color_manual(values =
c(
blue = "blue",
brown = "brown",
yellow3 = "yellow3",
turquoise = "turquoise"
))
得到的图和我之前得到的图一样,折线依然是颜色不对应+多颜色混杂。尽管从代码看怎么看都应该是对的,但出来的图就是有问题。
ggplot(df, aes(x = group, y = value, group = variable, color = I(color))) +
geom_point() + geom_line() + facet_grid( ~ color)
这个方法起作用了,得到的图是正确的。经过试验,成功的关键是把color参数放在aes()里面,并且把color值放在I()函数里面。
但是为什么这样就可以,我用的方法就不可以,我依然不理解。我一直以为,如果数据中以字符串形式指定了color的值,那aes(color = I(color))和(aes(), color = color)二者就是等效的。但现在看来,至少在折线图中,二者并不等效,并且关系不明。语言无法表达我的困惑······
不管怎样,目前面临的问题是解决了。再次感谢二位大神的关注和解答!(抱拳!)