[英]heatmap.2 (gplots) how to change horizontal size of the color key and add a legend
我用heatmap制作热图。 我知道如何控制许多参数,但我还没有找到一种方法,只使颜色键更宽或将其作为条形图的侧面或底部。
使用按键,它可以按比例修改高度和宽度。
另外,当使用ColSideColors时,我使用legend()来放置颜色标签,但是“topright”不在右上角。 我知道这是关于绘图区域,边距等的,但我还没有找到一个很好的解释性文本,关于heatmap.2 plot的结构如何以及如何通过坐标定位事物以及如何处理oma,mar等。在边缘,样本,树深等处,图例可以放置在开放区域中或重叠一些热图。 任何关于用R图形来理解这些问题的好文本都将得到真正的赞赏。
使用的编码是:
df<- data.frame( x1=rnorm(120,mean=rep(1:3,each=4),sd=0.2)
,x2=rnorm(120,mean=rep(1:3,each=4),sd=0.2)
,x3=rnorm(120,mean=rep(1:3,each=4),sd=0.2)
,x4=rnorm(120,mean=rep(1:3,each=4),sd=0.2)
,x5=rnorm(120,mean=rep(1:3,each=4),sd=0.2)
,x6=rnorm(120,mean=rep(1:3,each=4),sd=0.2)
,x7=rnorm(120,mean=rep(1:3,each=4),sd=0.2)
,x8=rnorm(120,mean=rep(1:3,each=4),sd=0.2)
,y1=rnorm(120,mean=rep(c(1,2,1),each=4),sd=0.2)
,y2=rnorm(120,mean=rep(c(1,2,1),each=4),sd=0.2)
,y3=rnorm(120,mean=rep(c(1,2,1),each=4),sd=0.2)
,y4=rnorm(120,mean=rep(c(1,2,1),each=4),sd=0.2)
,y5=rnorm(120,mean=rep(c(1,2,1),each=4),sd=0.2)
,y6=rnorm(120,mean=rep(c(1,2,1),each=4),sd=0.2)
,y7=rnorm(120,mean=rep(c(1,2,1),each=4),sd=0.2)
,y8=rnorm(120,mean=rep(c(1,2,1),each=4),sd=0.2)
)
dataMatrix <- as.matrix(df)[sample(1:120),]
heatmap.2(dataMatrix
, col=rev(brewer.pal(11,"RdBu"))
, density.info="none"
, key=TRUE
, symkey=FALSE
, trace="none"
, cexRow=1
, scale='row'
, margins =c(10,9)
, ColSideColors=c(rep("red", ncol(df)/2), rep("green", ncol(df)/2))
, main="Log2_intensities median centered"
, keysize=0.9)
legend('topright', c("x", "y"),lty=1, col=c("red", "green"), cex=0.8)
你可以尝试添加'inset'参数并使用尺寸来进一步向右移动图例(第一个值)和/或进一步向顶部移动(第二个值),例如:
传奇('topright',inset = c(。02,。02)等......)
有一种方法可以组织你在这里描述的情节: 在R heatmap中移动颜色键.2(gplots包的功能)当有一个ColSideColors
, heatmap.2
会将图绘制为
1 ColSideColors
2热图
3 ...等等,如上面的链接
从未使用RowSideColors
进行测试。 换句话说,您可以使用lwid
lmat
, lwid
, lhei
参数组织heatmap.2
。 这可以为你的传奇提供一些空间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.