how to make heatmap have a square-shape?
95 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
kinger
el 13 de Sept. de 2019
Respondida: Ramy Rabie
el 6 de Jun. de 2020
when I do
a=rand(4);
heatmap(a);
I got the following image:
How can I make the figure to a square-shaped one? I tried to use
axis equal;
but there's an error: Using axis with heatmap is not supported.
It seems that "axis" is not supported in heatmap.
Respuesta aceptada
Shubh Sahu
el 17 de Sept. de 2019
Hello Kinger,
heatmap does not support axis command directly but by extracting properties of heatmap, square-shaped figure can be made.
a=rand(4);
k=heatmap(a);
k.positions=[0.1300 0.1100 0.7179 0.179];
While using above code, make sure that Units property is set to normalized.
Regards,
Shubh
Más respuestas (1)
Ramy Rabie
el 6 de Jun. de 2020
x = [zeros(11,1), 6*ones(11,1) , 137*ones(11,1) ,...
84*ones(11,1) ,9*ones(11,1) ,4*ones(11,1)]
y = [ ones(1,6) ; 4*ones(1,6) ; 45*ones(1,6) ;...
25*ones(1,6) ; 2*ones(1,6) ; 2*ones(1,6) ;...
13*ones(1,6) ; 52*ones(1,6) ; 58*ones(1,6) ;...
15*ones(1,6) ; 4*ones(1,6)]
% Making Heatmap figure has square tiles
wposX=100; wposY = 100;
heatmapLength = 500;
heatmapWidth = heatmapLength - (size(y,2)/size(y,1))*heatmapLength;
figure('Renderer', 'painters', 'Position', [wposX wposY heatmapWidth heatmapLength])
tempMap = heatmap(x+y);
% Make heatmap fill the figure
tempMap.InnerPosition = [0 0 1 1];
0 comentarios
Ver también
Categorías
Más información sobre Data Distribution Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!