How to flip heatmap Y axis

76 views (last 30 days)
Pablo López
Pablo López on 31 Oct 2020
Commented: Pablo López on 18 Nov 2020
Hi all,
I am creating a heatmap based on a table with x and z coordinate and the parameter value for each position. I copy here an image of the table.
The command I am using to create the heatmap is this one:
figure = heatmap(table,'x','z','ColorVariable','value');
And the heatmap created is this one.
Question
Does anybody know how could I flip the z values to show the '0' value at the bottom of the heatmap and the value '0.022' at the top instead of the opposite?
Thanks in advance

Accepted Answer

dpb
dpb on 31 Oct 2020
hHM=heatmap(table,'x','z','ColorVariable','value'); % make heatmap, keep handle
hHM.NodeChildren(3).YDir='normal'; % turn Y-Axis normal direction
Yet another case where TMW has gotten far too clever and hidden the useful/needed properties for some reason only they can divine...
  3 Comments
dpb
dpb on 31 Oct 2020
Edited: dpb on 1 Nov 2020
Hmmm....hadn't thought of that.
To do that programmatically, use
hHM.YDisplayData=flip(hHM.YDisplayData);
Why to have to resort to such trickery instead of just being able to set the axis direction for the axis of choice like any other graphic axis is beyond the pale, however.
This recent penchant (that seems to only be accelreating with time) to create these black/dark-gray graphics objects is just totally misguided im(ns)ho.
Pablo López
Pablo López on 18 Nov 2020
Thanks! Much more elegant and efficient!

Sign in to comment.

More Answers (0)

Categories

Find more on Data Distribution Plots in Help Center and File Exchange

Tags

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!