[英]plotting heatmap in R
我正在學習用R編程,並感謝任何幫助。 我想將列值與參考匹配,並生成熱圖,其中填充為總頻率值,如下所示。 我也想保持“ from.aa”給定的x值的順序。
參考
Y_aa <- ("ILVFMCAGPTSYWQNHEDKR*X")
yaxis_aa <-strsplit(Y_aa,"")[[1]]
數據集
> c_1
from.aa to.aa total.freq
1 R S 0.7368421
2 W * 0.7368421
3 G G 0.7368421
4 E D 0.7368421
5 S G 0.7368421
6 P Q 0.7368421
7 P Q 0.7368421
8 G G 0.7368421
9 P T 0.7368421
10 P T 0.7368421
11 S S 0.7368421
12 A A 0.7368421
13 A P 0.7368421
14 A P 0.7368421
15 Q * 0.7368421
16 Q * 0.7368421
17 V V 0.7368421
18 S E 0.7368421
19 S E 0.7368421
20 S E 0.7368421
21 L L 0.7368421
22 L L 0.7368421
23 R L 0.7368421
24 R L 0.7368421
from.aa值是位置值,因此順序必須保持與數據集中給定的順序相同。
當前,我使用ggplot進行熱圖繪制,但未保留x軸的順序。
head(c_melt)
from.aa to.aa variable value
1 R S total.freq 0.7368421
2 W * total.freq 0.7368421
3 G G total.freq 0.7368421
4 E D total.freq 0.7368421
5 S G total.freq 0.7368421
6 P Q total.freq 0.7368421
ggplot(data = c_melt, aes(x=from.aa, y=to_aa, fill=value)) +
geom_tile()
所以我的問題是; 是否可以繪制total.freq值的熱圖作為填充,並且可以保留x軸(“ from.aa”)的順序,同時將y軸值(即“ to.aa”)映射到參考值,即“ yaxis_aa”
我能夠得到一些圖,但是它仍然缺少兩個重要的數據元素。
在此之前,我在數據集中添加了一列關於from.aa數據的列,從其位置開始,我創建了一個列0:length(c_l $ from.aa)並將其用作我的x軸。 在此數據集中,長度為123。
我用的另一件事是
c_melt=melt(c_1, id.var = c('pos.aa','from_aa', 'to_aa'))
但是,在熱圖中,from.aa和to.aa的所有值都不會顯示在熱圖中
ggplot(data = c_melt, aes(x=pos.aa, y=to.aa, fill=value, color=value)) +
geom_tile(aes(fill = value)) +
geom_text(aes(label = round(value, 2))) +
scale_fill_gradient(low = "light blue", high = "red") +
scale_x_continuous(breaks=c(0:123), labels=factor(0:123)) +
ylab("aa Change") +
xlab("Reference aa by position") +
theme(legend.title = element_text(size = 10),
legend.text = element_text(size = 2),
plot.title = element_text(size=12),
axis.title=element_text(size=14,face="bold"),
axis.text.x = element_text(angle = 90, hjust = 1)) +
labs(fill = "value")
熱圖如下:
任何改進此熱圖的建議都將非常有幫助。 我也打算使用from.aa值將輔助標簽添加到x軸
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.