[英]scale_fill_discrete with breaks and custom color scale?
我在选择 plot 的自定义颜色时遇到问题,我正在尝试将自己的值添加到 plot 但我似乎可以理解我应该将自定义颜色矢量放在哪里:
col <- c("#004d8d", "#cc2701", "#e5b400")
这是现在的 plot 代码:
p1 <- ggplot(data = densdf1, mapping = aes(x = x, y = y)) +
geom_area(data = densdf1[densdf1$CI,],
aes(fill = Electrode, color = Electrode),
outline.type = "full", alpha = 0.3, size = 1) +
geom_line(aes(color = Electrode), size = 1) +
scale_fill_discrete(breaks=c("Fz","Cz","Pz")) +
guides(colour = "none") +
geom_vline(xintercept = 0) +
lims(x = c(-3, 2), y = c(0, 2.25)) +
labs(title="INTERVAL 225-275ms", x="VALUES", y="DENSITY") +
theme_bw() +
theme(axis.text=element_text(size=10),
axis.title=element_text(size=12),
plot.title=element_text(size=14))
这是具有默认颜色的 plot,它看起来非常好,但我想自定义颜色。
如您所见,有一条等高线和需要着色的密度区域。
我尝试改变美学,但我认为我不理解逻辑。 我也尝试使用scale_manual_fill(values = col)
删除scale_fill_discrete(breaks=c("Fz","Cz","Pz"))
但它仅适用于内部区域。
任何ggplot2
专家可以给我一个提示吗? 谢谢!
在 aes(...) 部分中,您定义比例,并且必须为每个比例调整颜色。 在您的情况下,它将是“填充”和“颜色”比例,因此必须添加以下两行来调整两个比例:
scale_color_manual(values = col, breaks = c("Fz", "Cz", "Pz")) +
scale_fill_manual(values = col, breaks = c("Fz", "Cz", "Pz")) +
如果要确保某个类别获得某种颜色,则必须指定中断,并且向量的顺序对应于颜色向量的顺序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.