我使用下面的代码使用Heatmap ()
(库(" ComplexHeatmap" ))为我的DEG基因创建热图。
我的问题是单元格高度非常小而且行名称(88个基因ID)无法清晰观察到。
我增加了行名字体和行dend大小,但它对我不起作用。
注意:我无法使用" cell_fun"功能!
〜提前谢谢
这是我的代码:
library(gplots)
library("ComplexHeatmap")
library(dendextend)
library("RColorBrewer")
filename <- "male-female-88-TMMb.matrix"
my_data <- read.table(filename, sep='\t', quote='', stringsAsFactors=FALSE, header=TRUE)
row.names(my_data) <- my_data$samples
my_data <- my_data[, -1]
my_data <- my_data/rowSums(my_data)
row.scaled.expr <- as.matrix(my_data)
row.names(my_data) <- my_data$samples
my_matrix <- as.matrix(my_data)
my_data <- my_data[, -1]
data.prop <- my_data/rowSums(my_data)
mycol <- colorRampPalette(brewer.pal(10, "RdYlBu"))(256)
.hist = anno_histogram(row.scaled.expr, gp = gpar(fill = "olivedrab3"))
.density = anno_density(row.scaled.expr, type = "line", gp = gpar(col = "blue"))
ha_mix_top = HeatmapAnnotation(hist = .hist, density = .density)
.violin = anno_density(row.scaled.expr, type = "violin",
gp = gpar(fill = "darkorchid4"), which = "row")
ha_mix_right = HeatmapAnnotation (violin = .violin,
which = "row", width = unit(4.5, "cm"))
Heatmap (as.matrix(data.prop), km = 2, name = "TMM", col = mycol,
column_names_gp = gpar(fontsize = 8.5),
row_names_side = "left",
row_dend_side = "left",
clustering_method_columns = "ward.D",
clustering_method_rows = "ward.D",
column_dend_side = c("bottom"),
column_dend_height = unit(6, "mm"),
row_dend_width = unit(3.6, "cm"),
row_dend_gp = gpar (15),
gap = unit(1, "mm"),
row_title_gp = gpar(col = c("red2", "blue4"), font = 2:2),
row_names_gp = gpar(col = c("red2", "blue4"), fontsize = c(8.4, 8.6)),
rect_gp = gpar(col = "gray12", lty = 1, lwd = 0.2),
top_annotation = ha_mix_top,
top_annotation_height = unit(3, "cm")) + ha_mix_right
我的主管&#34; data.prop&#34;档案:
头(data.prop)
F1 F2 F3 M1 M2
DN107669_c1_g2_i1 0.68965517 0.05627846 0.2540664 0.00000000 0.000000000
DN101742_c5_g1_i2 0.27241615 0.20739220 0.5140315 0.00000000 0.006160164
DN107731_c4_g1_i4 0.17056856 0.56187291 0.2675585 0.00000000 0.000000000
DN108762_c0_g1_i9 0.00000000 0.85127479 0.1487252 0.00000000 0.000000000
DN111305_c2_g4_i1 0.08341354 0.32996471 0.5731473 0.01347449 0.000000000
DN101817_c3_g1_i3 0.11783015 0.51504372 0.2967245 0.01081962 0.050096339
M3
DN107669_c1_g2_i1 0.000000000
DN101742_c5_g1_i2 0.000000000
DN107731_c4_g1_i4 0.000000000
DN108762_c0_g1_i9 0.000000000
DN111305_c2_g4_i1 0.000000000
DN101817_c3_g1_i3 0.009485697
答案 0 :(得分:0)
这是我从ComplexHeatmap(Heatmap())的创建者Zuguang Gu收到的回复:
如何将图像保存到文件中?使用
n/2 - 1
功能或单击 &#34;保存&#34;或&#34;出口&#34;在Rstudio?如果您使用
pdf()
,则可以按pdf()
和{0}设置地块的大小width
论证。如果您直接将图像保存在Rstudio中,则必须有一些位置 你可以调整pdf文件的大小。
我在 Rstudio 中使用了他的指导,它解决了问题; - )
答案 1 :(得分:0)
您可以只使用heatmap_height
参数:
heatmap_width
和heatmap_height
控制完整热图的宽度/高度,包括所有热图组件(图例除外)
例如:
Heatmap(mat, ..., heatmap_height = unit(1, "cm")*nrow(mat))