[英]Draw a diagonal line on specific boxes in ggplot2?
嗨,我正在尝试在属于class2的特定盒子上绘制对角线。 我得到了: Image1
我的数据集:
samples genes value class
sample1 geneA 0.52 class2
sample1 geneB 1 class1
sample1 geneC 1 class1
sample2 geneD 1 class1
sample2 geneB 1 class1
sample2 geneH 0.4 class2
sample2 geneC 1 class1
sample3 geneE 0.44 class2
sample3 geneF 0.34 class2
sample3 geneB 1 class1
sample3 geneI 0.65 class2
sample3 geneC 1 class1
sample4 geneB 0.72 class2
sample4 geneC 0.41 class2
sample5 geneG 1 class1
sample5 geneB 1 class1
sample5 geneC 1 class1
Class1在框上用黄线标记。 您能帮我弄清楚在属于class2的盒子上插入对角线吗?
我想要这样:
谢谢,库玛
这是一种实现方法:
p <- ggplot(df, aes(x=genes,y=samples,fill=class)) + geom_tile()
p + geom_segment(
aes(x=xmin,xend=xmax,y=ymin,yend=ymax),
subset(ggplot_build(p)$data[[1]],fill=="#00BFC4"),
inherit.aes=F
)
同
library(ggplot2)
df <- read.table(header=T, text="samples genes value class
sample1 geneA 0.52 class2
sample1 geneB 1 class1
sample1 geneC 1 class1
sample2 geneD 1 class1
sample2 geneB 1 class1
sample2 geneH 0.4 class2
sample2 geneC 1 class1
sample3 geneE 0.44 class2
sample3 geneF 0.34 class2
sample3 geneB 1 class1
sample3 geneI 0.65 class2
sample3 geneC 1 class1
sample4 geneB 0.72 class2
sample4 geneC 0.41 class2
sample5 geneG 1 class1
sample5 geneB 1 class1
sample5 geneC 1 class1")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.