首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在`R`中的`gplots`中,如何调整`heatmap.2`函数中x-label ticks的位置?

在`R`中的`gplots`中,如何调整`heatmap.2`函数中x-label ticks的位置?
EN

Stack Overflow用户
提问于 2019-04-15 04:54:52
回答 1查看 94关注 0票数 1

我正在尝试复制在pg上发现的here的情节。4:

它的可重现代码是:

代码语言:javascript
复制
require(devtools)
install_git("https://github.com/marchion/git.switchBox", subdir="switchBox")
require(switchBox)
require(gplots)
data(trainingData)    
classifier <- SWAP.KTSP.Train(matTraining, trainingGroup)
kappa <- SWAP.KTSP.Statistics(matTraining, classifier)
mat <- t(1*kappa$comparisons)
rownames(mat) <- gsub(">", "\n more express than\n", rownames(mat))

heatmap.2(mat,
scale="none", Rowv=F, Colv=F, dendrogram="none",
trace="none", key=FALSE,
col=c("lightsteelblue2", "pink3"),
labCol=toupper(paste(trainingGroup, "Prognosis")),
sepwidth=c(0.075,0.075), sepcolor="black",
rowsep=1:ncol(kappa$comparisons),
colsep=1:nrow(kappa$comparisons),
lmat=rbind( c(0, 3), c(2, 1), c(0, 4) ), lhei=c(0.1, 5, 0.5), lwid=c(0.15, 5),
mar=c(7.5, 12), cexRow=0.85, cexCol=0.9)

如果您在上面的图中注意到,x标签稍微向左偏离中心。在heatmap.2函数中是否有一个命令可以将每个标签向右移动?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-15 05:12:51

你必须指定参数adjCol (c(1, 0.5))会给你想要的结果(c(1, 0)会把它移到左边,c(1, 1)会把它移到右边)。

代码(使用OPs提供的包和数据):

代码语言:javascript
复制
heatmap.2(
  mat,
  adjCol = c(1, 0.5), 
  scale = "none", Rowv = FALSE, Colv = FALSE, dendrogram = "none",
  trace = "none", key = FALSE,
  col = c("lightsteelblue2", "pink3"),
  labCol = toupper(paste(trainingGroup, "Prognosis")),
  sepwidth = c(0.075,0.075), sepcolor = "black",
  rowsep = 1:ncol(kappa$comparisons),
  colsep = 1:nrow(kappa$comparisons),
  lmat = rbind( c(0, 3), c(2, 1), c(0, 4) ),
  lhei = c(0.1, 5, 0.5), lwid = c(0.15, 5),
  mar = c(7.5, 12), cexRow = 0.85, cexCol = 0.9,
)

结果:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55679946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档