ggplot2中颜色参数和aes颜色不同?

时间:2014-02-19 16:48:57

标签: r ggplot2

当我在这样的颜色中使用颜色时

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

1 个答案:

答案 0 :(得分:4)

不同之处在于,当您在aes中提供颜色参数时,它会将其视为一个因素,并尝试将每个级别的因子映射到一种颜色(就像您给出的那样{{1} 1}} - 它不会将它们视为字面颜色。)

相反,当您将颜色直接赋予c("USA", "USA", "Russia", "Russia")时,它会将其作为实际颜色。您可以在geom_line的文档中看到这一点:

geom_line

注意“您要设置的值,而不是地图”。

相关问题