[英]Dark to light colours based on value ggplot2
我正在尝试使用ggplot2自定义颜色。 我写的函数如下:
library(tidyverse)
spaghetti_plot_multiple <- function(input, MV, item_level){
MV <- enquo(MV)
titles <- enquo(item_level)
input %>%
filter(!!(MV) == item_level) %>%
mutate(first_answer = first_answer) %>%
ggplot(.,aes( x = time, y = jitter(Answer), group = ID)) +
geom_line(aes(colour = first_answer)) +
labs(title = titles ,x = 'Time', y = 'Answer', colour = 'Answer given at time 0') +
facet_wrap(~ ID, scales = "free_x")+
theme(strip.text = element_text(size = 8)) +
scale_color_manual(values = c('red', 'blue', 'brown', 'purple', 'black'))
}
但是,这不起作用,但是我似乎无法弄清为什么scale_color_manual(..)
值不起作用。 我正在使用的当前图是:
这与我要达到的目的有些一致:值为1-3的深色(即基于first_answer
,范围为1到5),为4和5的颜色较浅。原因仅仅是因为还有更多线的值是4或5,我希望能够看到线在时间上的方向。
编辑图像是我当前拥有的情节。 尽管它有点像我想要的东西,但我宁愿自己设置颜色还是使用一些选择颜色的功能来自动增强绘图的可见性(绘图中的线条)。
您可以使用' scale_x_gradient2
或scale_x_gradientn
(x可以是fill
或color
)指定颜色渐变。
在指定values = c(...)
的颜色值时需要注意: values()
根据颜色在c(0,1)
的位置分配颜色。 因此,您需要将向量中要中断的值缩放到c(0,1)范围。
再问一个问题,哪个调色板最适合用于5条不同的线:我认为最好是在完成操作后手动指定颜色。 我经常使用十六进制代码代替。 我亲自看那些
html颜色代码 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.