繁体   English   中英

映射ggplot2中不同因素的两种颜色美学

[英]Map two colour aesthetics for different factors in ggplot2

我正在尝试使用ggplot制作一个简单的字段图。 现场设计采用以下格式:

design <- data.frame(Genotype=rep(LETTERS[1:4], 4), Status=rep(c("P","N"), each=8),
                 Density=rep(c(40,80), each=4),
                 Row=rep(seq(1:4)),
                 Range=rep(1:4, each=4))

我想要一个映射,其中填充映射到Genotype ,而其他映射(理想的是亮度)映射到Density 我最接近的是使用alpha ,但这并不理想,因为它从非常低的alpha变为非常高的alpha。 在非常低的alpha值下,很难看到填充量是多少。

这是目前我的情节的代码:

d.p <- ggplot(design, aes(Row, Range))
d.p1 <- d.p + geom_tile(aes(fill=Genotype, alpha=Density))

我摆弄了scale_fill_hue但似乎无法做出任何明智的事情。

提前致谢。

编辑

抱歉,当我制作上面描述的可重现示例时,意识到我没有解决现实世界中的基本问题。

如下所述, alpha可以映射到Density,但是我还需要区分Status 孵化似乎是一个显而易见的解决方案,但我知道这不是一个选择。 我可以手动分配相似的颜色(浅蓝色,深蓝色等),但是我真的很想能够自动化它,以便可以在任何现场设计中使用。

任何想法表示赞赏,对于造成的混乱,我们深表歉意!

我将忽略RowGenotype包含冗余信息的事实,并提供以下信息:

ggplot(design,aes(x = Row,y = Range)) + 
    geom_tile(fill = "transparent",colour = "black") +
    geom_point(aes(colour = Genotype,size = factor(Density),shape = Status)) + 
    scale_size_manual(values = c(3,6))

在此处输入图片说明

但是有些事情告诉我,有一个原因你也不能这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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