How to add top and bottom x-axes labels to a heatmap?

21 views (last 30 days)
I have a heatmap to which I want to add two x-axes, top and bottom, representing two different quantities. Attached are the .fig I got, and the source .mat.

Accepted Answer

Benjamin Kraus
Benjamin Kraus on 22 Dec 2023
My answer from November 8, 2023 shows how to leverage tiledlayout to create an axes that sits under the heatmap and can be used to add additional labels. This same technique can be used to add duplicate labels on the top and bottom of the heatmap. It has working example code you can start with.

More Answers (1)

Guilherme
Guilherme on 12 Jan 2023
It shows how to add two axes to a single plot. Then, you'd need to use xlabel and reference the Xaxis that you want to change as the target. You'd need something like that:
t = tiledlayout(1,1);
target_bottom = axes(t);
%%
% Plot Bottom
%%
target_top = axes(t);
target_top.XAxisLocation = 'top';
%%
% Plot Top
%%
xlabel(target_bottom,'Bottom Axis')
xlabel(target_top,'Top Axis')
  1 Comment
ct8
ct8 on 13 Jan 2023
I have tried this, but it is not working for my heat map. Essentially I want to know how to define the titled layout in my code which generates a heatmap.
figure()
imagesc(x,z,y')
% reproduce heatmap's colormap
n=256;
cmap = [linspace(.9,0,n)', linspace(.9447,.447,n)', linspace(.9741,.741,n)'];
colormap(cmap);
axis xy
colorbar()

Sign in to comment.

Categories

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

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!