当我像这样使用aes中的颜色时
ggplot(data=olympia,aes(x=year)) + geom_line(aes(y=gold,colour="red")) + geom_line(aes(y=silver,colour="blue"))
它不起作用。
如果我使用颜色参数,它会显示正确的红色和蓝色。
ggplot(data=olympia,aes(x=year)) + geom_line(aes(y=gold),colour="red") + geom_line(aes(y=silver),colour="blue")
有什么不同吗?有什么错吗?
达菲
year gold silver
1 2002 12 16
2 2006 11 12
3 2010 10 13
4 2014 8 3
发布于 2014-02-19 09:05:30
区别在于,当您在aes
中提供颜色参数时,它将其视为一个因素,并试图将该因素的每个级别映射到一个颜色(就像您给出c("USA", "USA", "Russia", "Russia")
时一样--它不会将它们视为字面颜色)。
相反,当你直接把颜色给geom_line
时,它就把它当作一个实际的颜色。您可以在geom_line
的文档中看到这一点
Usage:
geom_line(mapping = NULL, data = NULL, stat = "identity",
position = "identity", ...)
<snip>
...: other arguments passed on to ‘layer’. This can include
aesthetics whose values you want to set, not map. See ‘layer’
for more details.
注意“要设置的值,而不是映射”。
https://stackoverflow.com/questions/21886942
复制