jokergoo / ComplexHeatmap

Make Complex Heatmaps
https://jokergoo.github.io/ComplexHeatmap-reference/book/
Other
1.31k stars 227 forks source link

Question about list of heatmaps #922

Open ShinyFabio opened 2 years ago

ShinyFabio commented 2 years ago

Hi jokergoo, I have a question about the dendrogramms. I have multiple heatmaps generated with a loop for. Each of them has its own legend and its own row clustering (only row). Every loop ends in this way:

ht_list = ht_list + ComplexHeatmap::Heatmap(....)

So in every cycle I add another heatmap. The resulting list of heatmaps is then printed with the draw() function. Now my question is: how are combined the different row clusterings since in the end I have just one dendrogramm?

jokergoo commented 2 years ago

By default it is controlled by the first numeric heatmap, but you can manually control it by setting the "main heatmap":

draw(ht_list, main_heatmap = ...)
ShinyFabio commented 2 years ago

Ok, so it's a bit misleading in my case. Do you know if it's possible to have a dendrogram that takes into account all the heatmaps? Or at least to render a dendrogram for each heatmap?

jokergoo commented 2 years ago

Then how do you correspond between heatmaps? e.g. row i in the first heatmap should correspond to the same thing for row i in the second heatmap (after the clustering)?

If you want to apply clustering for all heatmaps, then it does not make sense to "concatenate" these heatmaps, while instead, these heatmaps will just become different plots.

ShinyFabio commented 2 years ago

Okay so I misunderstood the way complexheatmap concatenate them. So my solution could be to render different heatmaps and taking them separated without using ht_list. Of course if I want to use InteractiveComplexHeatmap, I will have different interactive heatmap outputs, correct?

jokergoo commented 2 years ago

Yes, they are basically "different plots".