我正在查看The right way to plot multiple y values as separate lines with ggplot2以获得正确的语法,以便为同一个X提供多个Y.我能够正确地执行此操作(在这种情况下,我实际上使用了提交者的格式,因为我只想要一个额外的Y所以它就这么简单了。
我的麻烦在于我想将两条线设置为不同的颜色,我想指定颜色(即color = I('blue')
),但这样做会导致错误
Don't know how to automatically pick scale for object of type AsIs. Defaulting to continuous
Error: Discrete value supplied to continuous scale
我的代码如下:
ggplot(aes(x = age), data = by_age) +
geom_line(aes(y = friend_mean, color = "blue")) +
geom_line(aes(y = friend_med))
这会导致一条线被着色,但不会以指定的颜色显示,并且它会将"blue"
应用为标签。
那么我如何使用定义的静态颜色(红色,蓝色,绿色等)在ggplot中设置颜色?
谢谢!
答案 0 :(得分:1)
您需要做的就是将color=
参数放在aes(...)
的之外。
应该映射的变量适合aes(...)
(例如,包含三个不同值的名为“color_column”的数据帧列在使用美学函数时可以映射到三种不同的颜色,如aes(color = color_column)
),应该是静态的,并且您希望有一个定义的固定值(例如color = "red"
)的值位于aes(...)
之外。 (这是一个广泛的解释。)