How to change the shape/size of a HeatMap/clustergram?

20 vues (au cours des 30 derniers jours)
Ziwei Liu
Ziwei Liu le 24 Juin 2021
Réponse apportée : Clara le 26 Sep 2022
Hi, I'm working on a data with a 8 by 53 matrix, and I'm trying to generate a heatmap using the HeatMap function. The figure turns out to be undesirable since each block is a thin, long rectangle. I know it's probably due to the size of the input data so the function automatically scaled the figure so that the entire image looks like a square. I guess if I had a 50 by 50 matirx, each block may be a square and the image may be more good-looking, but I can't change the data I have. So, are there any way to overcome this? Thanks.

Réponse acceptée

Clara
Clara le 26 Sep 2022
Maybe you can control the size of the graph using:
set(gcf, 'Position', [x, y, horizontal length, vertical length]).
For a 5 by 41 matrix, set(gcf, 'Position', [100, 100, 1000, 200]) works well for me.
Hope it is helpful!

Plus de réponses (1)

KSSV
KSSV le 24 Juin 2021
Modifié(e) : KSSV le 24 Juin 2021
You can use imresize, interp2 functions to get your desired dimensions.
If A is your 8*53 matrix.
A_new = imresize(A,[50 50]) ;
But still I suspect that will you get squares.
  1 commentaire
Ziwei Liu
Ziwei Liu le 25 Juin 2021
Hi KSSV,
Thanks for your answer, but I don't want to change my input data. I just want to set the properties of the image, if possible.

Connectez-vous pour commenter.

Produits


Version

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by