热图底部的居中色键
Centering color key at bottom of heatmap
我尝试使用 gplots
包中的 heatmap.2
生成热图。我的目标是生成一个热图,在绘图区域和热图之间没有额外的 space(不包括底部的键)。通过查看一些帖子,我设法使用 lmat
将热图拟合到绘图区域(这样左侧就没有 space 了)。但是我无法将颜色键置于绘图下方的中心。结果,有一些space,因为在右侧投射了一个色标尺。
谁能告诉我如何在底部的热图中心制作颜色键(从而避免额外的 space 问题)。
我无法显示图像。我使用以下代码生成热图。
library(gplots)
dat <- read.csv("C:..../xxx.csv")
dat_matrix <- data.matrix(dat)
colors = c(seq(-2,-1,length=100),seq(-1,1,length=100),seq(1,2,length=100))
my_palette <- colorRampPalette(c("green","black","red"))(n = 299)
lmat = rbind(c(1,3),c(2,1),c(1,4))
lwid = c(1,4)
lhei = c(1,4,1.2)
heatmap.2(dat_matrix, dendrogram="none", Rowv = FALSE, Colv = FALSE,
col = my_palette, breaks = colors, scale = "none", key = TRUE,
density.info = "none", trace = "none", labRow = FALSE, symm = FALSE,
symkey = TRUE, symbreaks = TRUE, lmat = lmat, lwid = lwid, lhei = lhei)
您可以使用参数 key.par
并将 mar
设置为合适的值。例如使用 dat_matrix <- as.matrix(mtcars)
和其他你的数据,我使用 mar=c(8,0,0,12)
。您必须弄清楚什么 mar
最适合您的数据。
heatmap.2(dat_matrix,
dendrogram="none",
Rowv=FALSE,
Colv=FALSE,
col = my_palette,
breaks=colors,
scale="none",
key=TRUE,
key.par = list(mar= c(8, 0, 0, 12)),
density.info="none",
trace="none",
labRow=FALSE,
symm=F,
symkey=T,
symbreaks=T,
lmat = lmat,
lwid = lwid,
lhei = lhei)
我尝试使用 gplots
包中的 heatmap.2
生成热图。我的目标是生成一个热图,在绘图区域和热图之间没有额外的 space(不包括底部的键)。通过查看一些帖子,我设法使用 lmat
将热图拟合到绘图区域(这样左侧就没有 space 了)。但是我无法将颜色键置于绘图下方的中心。结果,有一些space,因为在右侧投射了一个色标尺。
谁能告诉我如何在底部的热图中心制作颜色键(从而避免额外的 space 问题)。
我无法显示图像。我使用以下代码生成热图。
library(gplots)
dat <- read.csv("C:..../xxx.csv")
dat_matrix <- data.matrix(dat)
colors = c(seq(-2,-1,length=100),seq(-1,1,length=100),seq(1,2,length=100))
my_palette <- colorRampPalette(c("green","black","red"))(n = 299)
lmat = rbind(c(1,3),c(2,1),c(1,4))
lwid = c(1,4)
lhei = c(1,4,1.2)
heatmap.2(dat_matrix, dendrogram="none", Rowv = FALSE, Colv = FALSE,
col = my_palette, breaks = colors, scale = "none", key = TRUE,
density.info = "none", trace = "none", labRow = FALSE, symm = FALSE,
symkey = TRUE, symbreaks = TRUE, lmat = lmat, lwid = lwid, lhei = lhei)
您可以使用参数 key.par
并将 mar
设置为合适的值。例如使用 dat_matrix <- as.matrix(mtcars)
和其他你的数据,我使用 mar=c(8,0,0,12)
。您必须弄清楚什么 mar
最适合您的数据。
heatmap.2(dat_matrix,
dendrogram="none",
Rowv=FALSE,
Colv=FALSE,
col = my_palette,
breaks=colors,
scale="none",
key=TRUE,
key.par = list(mar= c(8, 0, 0, 12)),
density.info="none",
trace="none",
labRow=FALSE,
symm=F,
symkey=T,
symbreaks=T,
lmat = lmat,
lwid = lwid,
lhei = lhei)