r-ggplot2中的线条颜色



我不明白以下内容:为什么

data_ts <- data.frame(
day = as.Date("2017-06-14") - 0:364,
value = runif(365) + seq(-140, 224)^2 / 10000)
ggplot(data_ts, aes(x=day, y=value)) +
geom_line() +
scale_colour_manual(values = "#ffcc33")

产生黑线?我知道,我可以用

ggplot(data_ts, aes(x=day, y=value)) +
geom_line(colour = "#ffcc33")

相反,但我想理解为什么"scale_color_manual"在上面的示例中不起作用。

scale_colour_manual函数仅影响通过美学aes()映射的值。所有scale_*函数也是如此。如果未在aes()内部设置值,则scale不会触及它们。如果要使用scale_colour_manual,则需要映射。类似的东西

ggplot(data_ts, aes(x=day, y=value)) +
geom_line(aes(color="mycolor")) +
scale_colour_manual(values = "#ffcc33")

或者为了确保映射的文字值和颜色之间的正确匹配,您可以执行类似的操作

ggplot(data_ts, aes(x=day, y=value)) +
geom_line(aes(color="mycolor1")) +
geom_line(aes(y=value+1, color="mycolor2")) +
scale_colour_manual(values = c(mycolor1="#ffcc33", mycolor2="#33ccff"))

最新更新