表的内容

最可能问的问题

没有情节出来跑后的热图()函数。

在这种情况下,您需要使用画()显式函数。看到https://jokergoo.github.io/ComplexHeatmap-reference/book/a-single-heatmap.html plot-the-heatmaphttps://jokergoo.github.io/ComplexHeatmap-reference/book/a-list-of-heatmaps.html plot-the-heamtap-list

检索订单和系统树图。

从单一的热图获取订单和系统树图。看到https://jokergoo.github.io/ComplexHeatmap-reference/book/a-single-heatmap.html get-orders-and-dendrograms-from-heatmap

获取订单和系统树图的热图的列表。看到https://jokergoo.github.io/ComplexHeatmap-reference/book/a-list-of-heatmaps.html get-orders-and-dendrograms-from-a-list-of-heatmaps

我该如何控制的高度或宽度的热图注释?

对于复杂的注释生成的anno_ * ()功能,宽度或高度应设置里面anno_ * ()功能,如anno_points (…身高=…)。的大小是由简单的注释anno_simple_size。的宽度/高度annotation_width/annotation_height是用来调整为多个注释都放在一个尺寸吗HeatmapAnnotation对象。看到https://jokergoo.github.io/ComplexHeatmap-reference/book/heatmap-annotations.html multiple-annotations

我该如何控制轴的注释?

在注释功能anno_ * (),争论axis_param可用于设置坐标轴。值应该是一个列表,默认设置轴可以得到:

default_axis_param(“列”)default_axis_param(“行”)

如何控制传奇的风格吗?

传奇的风格可以控制的heatmap_legend_param热图(),或annotation_legend_paramHeatmapAnnotation ()。传说中这些参数控制的参数传奇()函数。看到https://jokergoo.github.io/ComplexHeatmap-reference/book/legends.html heatmap-and-annotation-legends

策划一些文本被削减的地区。

的布局ComplexHeatmap并不完美,它仍然是有可能的一些文本的绘图区域。在这种情况下,您可以设置填充论点画()函数增加周围的空白区域最后的情节。看到https://jokergoo.github.io/ComplexHeatmap-reference/book/a-list-of-heatmaps.html manually-increase-space-around-the-plot

可以添加垂直的热图的吗?

是的,使用% v %而不是+。看到https://jokergoo.github.io/ComplexHeatmap-reference/book/a-list-of-heatmaps.html vertical-concatenation

热图标题支持数学表达式吗?

是的,所有的文本相关的元素(如标题、行名称,传说头衔,传说标签,…)允许数学表达式。

我有许多的热图,我想把它们放在不同的面板图对我的论文。

你可以设置newpage = FALSE画()功能和使用grid.layout ()管理面板的布局。

pushViewport(视窗(布局= grid.layout (…))) pushViewport(视窗(layout.pos。行=…,layout.pos。坳=…))(ht newpage = FALSE) #或画(ht_list newpage = FALSE) popViewport ()……

但我更建议使用grid.grabExpr ()直接捕获的热图的输出和后画出整个情节作为一个单一的图形元素grid.draw ()

ht_grob =网格。grabExpr(画(ht…)) pushViewport(视窗(布局= grid.layout (…))) pushViewport(视窗(layout.pos。行=…,layout.pos。坳=…))grid.draw (ht_grob) popViewport ()……

我有一个矩阵的行太多,我想简化行系统树图。

你可以分成几个组,第一组你行组级别系统树图。看下面的例子:

m =矩阵(rnorm (1000 * 10), nr = 1000) hc = hclust (dist (m))组= cutree (hc, k = 6)的热图(m, cluster_rows = cluster_within_group (t (m)、组),row_split = 6,边境= TRUE)如果还设置row_split #最好

unnamed-chunk-6阴谋的一部分

我有nunmber巨大的行或列的矩阵,有效的可视化方法是什么?

热图用于可视化的全球模式矩阵虽然不是每一个行或列。我建议随机样本行或列成一个合理的小数目,最后的热图应该一样如果你仍然坚持使用完整的矩阵。

如何添加轴系统树图吗?

您需要使用decorate_row_dend ()decorate_column_dend ()手动添加坐标轴。看下面的例子:

m =矩阵(rnorm (100), 10) ht =热图(m, name = " foo ", row_dend_width =单元(4厘米),column_dend_height =单元(4厘米))画(ht、填充=单位(c(15、2、2、2),“毫米”))decorate_column_dend (" foo ", {grid.yaxis ()}) decorate_row_dend (" foo ", {vp = current.viewport()美元xscale = vp xscale网格。xaxis (= xscale[2]——0:5,标签= 0:5)})

unnamed-chunk-7阴谋的一部分

注意左行系统树图,轴从右到左,你需要self-define标签grid.xaxis ()函数。

您还可以检查annotation_axis_grob ()函数(以后使用grid.draw ()画坐标轴)画一个更好的轴。

我设置row_km / column_km和它给了我不同的k - means聚类不同的运行。

是的,这是它应该会因为k - means使用随机开始点和它对不同的运行可能会给不同的结果。为了解决这个问题,你无论哪种方式如下:

  1. 总是添加set.seed (…)之前的热图。这使得确定随机种子总是相同的不同的运行。
  2. row_km_repeats/column_km_repeatsk - means多次运行以获得最终共识k - means聚类。注意你可能仍然会出现不同的结果,但机会远小于就k - means运行一次。

我只想画系统树图加一个注释列表。

你需要分配的系统树图zero-row /列矩阵:

hc = hclust (dist(矩阵(rnorm(100), 10)))的热图(矩阵(数控= 0,nr = 10), cluster_rows = hc, right_annotation = rowAnnotation (foo = anno_points(1:10),某事= 1:10,酒吧= anno_barplot (1:10)), row_split = 2)

unnamed-chunk-8阴谋的一部分

包和我仍然有一个问题我失去海洋的巨大的装饰图案。

装饰图案(https://jokergoo.github.io/ComplexHeatmap-reference/book/)包含大量的例子和情节显示包的不同用法。有时候不容易找到你正在寻找解决方案。在这种情况下,不要犹豫在GitHub下降问题。我很高兴回答你所有的问题!

我也可以添加的热图由pheatmap () ?

是的,你可以参考https://jokergoo.github.io/2020/05/06/translate-from-pheatmap-to-complexheatmap/

我可以做一个交互式的热图吗?

是的,请参考InteractiveComplexHeatmap