[英]manual bin size selection in R ggplot geom.tile function?
有沒有一種方法可以手動設置大小不同的 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"
用於剩余的 bins 我想要從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))
您可以通過更改克服色階完全控制scale_fill_gradientn
,設定limits
到c(0, 1)
,specfiying所有的顏色在一個載體,以及它們在向量位置values
。 在您的情況下,它看起來像這樣:
ggplot(pvaldata2, aes(x = sample, y = Group)) +
geom_tile(colour="black", size = 0.25, aes(fill = pvalue)) +
scale_fill_gradientn(colours = c(rep("#ecefb7", 2), "#7fc8b9", "#3a81b5"),
na.value = "white",
values = c(0, 0.05, 0.0501, 1),
limits = c(0, 1)) +
theme(axis.text.y = element_text(size = 8))
如您所見,這將NA
着色為白色,p 值低於 0.05(甚至非常接近 0.05 的值)為所需的淺黃色,其余為所選漸變。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.