【发布时间】:2020-06-03 23:39:54
【问题描述】:
有没有一种方法可以手动设置大小不同的 bin 大小并在特定颜色代码之后为它们着色?
我想要一个带有 binsizes 的热图:0-0.05、0.05-0.25、0.25-0.5、0.5-0.75 和 0.75-1
对于 bin 0-0.05,我想要设置颜色:"#ecefb7" 对于剩余的 bin,我想要从 low="#7fc8b9" 到 high="#3a81b5" 的渐变。
我确实设法获得了图例中的垃圾箱,但没有使用特定的颜色编码。也许有人知道我如何做到这一点?
样本最小数据:
Group sample pvalue
1 OG0000010:Up EB1_D 0.04900000
2 OG0000050:Down EB1_D 0.19019725
3 OG0000638:Up EB1_D 0.52008137
4 OG0000010:Up EN1_D NA
5 OG0000050:Down EN1_D 0.01615993
6 OG0000638:Up EN1_D 0.48958058
我目前使用的代码:
ggplot(pvaldata2, aes(x=sample, y=Group)) +
geom_tile(colour="black", size=0.25, aes(fill=pvalue)) +
scale_fill_gradient(low="#ecefb7", high="#3a81b5", na.value = "white",
breaks = c(0.05, 0.25, 0.5, 0.75),
labels = c("0.05", "0.25", "0.5", "0.75")) +
theme(axis.text.y = element_text(size = 8))
【问题讨论】:
-
使用
cut将连续变量分解为间隔,然后使用像 ColorBrewer 中的顺序填充比例(或自己制作) -
fyi,最好使用
dput提供示例数据,因为可以将其直接粘贴到 R 中。