Colorbar title is beyond the axis

27 views (last 30 days)
ZC Song
ZC Song on 19 Jun 2019
Commented: ZC Song on 21 Jun 2019
Hi,
Does anyone can help me figure out why my colorbar title is always partly outside of the axis?
Below is my code:
scatter(app.ViewDEM,X_1,Y_1,200,Z_1,'s','filled')
colormap(app.ViewDEM)
d = colorbar(app.ViewDEM);
d.Label.String = 'Elevation [m]';
Thank you very much!
  3 Comments
Adam Danz
Adam Danz on 19 Jun 2019
Edited: Adam Danz on 19 Jun 2019
I tried to recreate this problem by setting a UIAxes in App Designer very close to the right edge of the UI figure and then adding a colorbar to the right with a y axis label but the axes adjusts accordingly and I cannot recreate the problem.
Could you provide a bit more code? I'm curious if you're setting the axis position.
ZC Song
ZC Song on 20 Jun 2019
Yes, sometimes it works well. But in this case is not. Now I upload the data (X_1, Y_1, Z_1) and named the axis to 'app.UIAxes4'. The code is below:
scatter(app.UIAxes4,X_1,Y_1,200,Z_1,'s','filled')
colormap(app.UIAxes4)
d = colorbar(app.UIAxes4);
d.Label.String = 'Elevation [m]';
d.Label.FontSize = 10;
hold on

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 20 Jun 2019
I was able to reproduce the problem after embedding the code you provided (copied below) within an app. It looks like a bug and should be reported. I thought of two workarounds listed below.
% Your example code that reproduces the problem
scatter(app.UIAxes4,X_1,Y_1,200,Z_1,'s','filled')
% colormap(app.UIAxes4) %Commented out; this just returns the current colormap
d = colorbar(app.UIAxes4);
d.Label.String = 'Elevation [m]';
d.Label.FontSize = 10;
hold on
% Workaround #1
% Move the colorbar y axis label to the left.
d.AxisLocation = 'in'
% Workaround #2
% Expand the width of the outer position of the axes a bit
% Look as your axes' current width value and chose a value slightly higher (+20 ?)
app.UIAxes.OuterPosition(3) = 500; % Change this value to fit your needs
  3 Comments
Adam Danz
Adam Danz on 20 Jun 2019
Nice teamwork!
A better way to set the title of the colorbar:
title(d, 'Elevation [m]', 'FontSize', 10)
ZC Song
ZC Song on 21 Jun 2019
Yes this one looks more concise!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!