繁体   English   中英

scale_fill_discrete 带有中断和自定义色标?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM