how to make heatmap have a square-shape?
79 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
kinger
am 13 Sep. 2019
Beantwortet: Ramy Rabie
am 6 Jun. 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.
Akzeptierte Antwort
Shubh Sahu
am 17 Sep. 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
Weitere Antworten (1)
Ramy Rabie
am 6 Jun. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Data Distribution Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!