![](/img/trans.png)
[英]Highlight groups of tiles defined by clusters using ggplot2 geom_tile()
[英]Highlight tiles with ggplot2 geom_tile() + geom_point()
我有以下情節看起來像:
我正在嘗試根據此處找到的以下代碼在另一層中添加點
我要導入的數據框如下所示:
residue_id residue_num per_ddg pg9_seq_bool
A 96 0.00437094862845686 FALSE
A 97 -0.0026333752377897 FALSE
A 98 -0.00453070737795937 FALSE
A 99 -0.0130564560942629 TRUE
A 100 -0.00578979380922636 FALSE
A 101 -0.0128130535970934 FALSE
A 102 -0.0264740211311766 FALSE
A 103 -0.183036342874782 FALSE
A 104 -0.00550669729238368 FALSE
並使用以下代碼生成繪圖:
library(ggplot2)
input_ddg <-read.table('per_residue_average.txt',header=T,sep="\t",stringsAsFactors=TRUE)
input_ddg$pg9_seq_bool[input_ddg$pg9_seq == "TRUE"] <- T
input_ddg$pg9_seq_bool[input_ddg$pg9_seq == "FALSE"] <- F
pdf("output.pdf")
ggplot(input_ddg, aes(residue_id,residue_num,fill=per_ddg) ) +
theme_bw() +
geom_tile() +
geom_point(data=input_ddg,aes(size=ifelse(pg9_seq_bool, "dot", "no_dot"))) +
scale_size_manual(values=c(dot=6,no_dot=NA))+
scale_fill_gradient2(low="blue", mid="white",high="red", midpoint=-.25, na.value="black") +
ylab( "Residue Number" ) +
xlab( "Mutation Identity") +
scale_y_continuous(breaks=96:125,expand=c(0,0))+
scale_x_discrete(expand=c(0,0))+
labs(fill=expression(Delta*Delta*"G(REU)")) +
ggtitle(expression("Average"~Delta*Delta*"G for Mutations by CDR3 Position")) +
theme( panel.background=element_rect(fill="black"), panel.grid.minor=element_blank(), panel.grid.major=element_blank())
dev.off()
我收到一個錯誤:
Error in grid.Call.graphics(L_setviewport, pvp, TRUE) :
Non-finite location and/or size for viewport
Calls: print ... lapply -> FUN -> push.vp.viewport -> grid.Call.graphics
In addition: Warning message:
Removed 461 rows containing missing values (geom_point).
Execution halted
我對使用ifelse解析TRUE和FALSE有一種感覺,但是我完全遵循了這篇文章。
首先,您不需要在數據input_ddg
中用T和F替換TRUE和FALSE值。 接下來,可以在geom_point()
aes()
中直接使用pg9_seq_bool
列。 這將根據TRUE / FALSE值產生兩種類型的點。 然后使用scale_size_manual()
將大小設置為0(對於FALSE scale_size_manual()
將大小設置為6(對於TRUE)。 如果該scale_size_maual()
不應該出現在圖例中,則在scale_size_maual()
添加參數guide="none"
。
ggplot(input_ddg, aes(residue_id,residue_num,fill=per_ddg) ) +
theme_bw() +
geom_tile() +
geom_point(aes(size=pg9_seq_bool)) +
scale_size_manual(values=c(0,6),guide="none")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.