How to flip heatmap Y axis

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

Thank you very much dpb!
It works really well.
I had tried the next command, which also works but is more tedious...
test.YDisplayData = {'0.022';'0.02';'0.018';'0.016';'0.014';'0.012';'0.01';'0.008';'0.006';'0.004';'0.002';'0'}
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.
Thanks! Much more elegant and efficient!

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2019a

Tags

Asked:

on 31 Oct 2020

Commented:

on 18 Nov 2020

Community Treasure Hunt

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

Start Hunting!