我正在尝试使用 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 下,很难看出填充是什么。
这是我目前情节的代码:
d.p <- ggplot(design, aes(Row, Range))
d.p1 <- d.p + geom_tile(aes(fill=Genotype, alpha=Density))
我一直在摆弄,scale_fill_hue
但似乎无法让任何明智的事情发生。
提前致谢。
编辑
很抱歉,当我制作上面修复的可重现示例时,我意识到我遗漏了现实世界问题的一个基本方面。
正如下面所指出的,alpha
可以映射到 Density,但我还需要区分Status
. 孵化似乎是一个显而易见的解决方案,但我知道这不是一个选择。我可以手动分配相似的颜色(浅蓝色、深蓝色等),但我真的希望能够自动执行此操作,以便我可以为任何现场设计做到这一点。
任何想法表示赞赏,并为混淆感到抱歉!