
How to assign yyaxis 'Label' and 'Range' to UIAxes in matlab appdesigner (R2020a)
6 views (last 30 days)
Show older comments

i was try to assign third axis for app.UIAxes in matlab appdesinger, i tried
app.UIAxes.ZAxis = zlabel
but didnt worked...!!!
kindly suggest a Solution.
0 Comments
Accepted Answer
Adam Danz
on 17 Oct 2020
Edited: Adam Danz
on 17 Oct 2020
The z axis is the 3rd dimension but your plot is 2D.
You yyaxis to assign an independent label to the right y-axis. Then link the two yaxes so that if properties of one change, the other axis will remain identical.
Demo:
% Create a demo uiaxes
app.UIAxes = uiaxes();
% Define right axis label
yyaxis(app.UIAxes, 'right')
ylabel(app.UIAxes, 'Right Side Label')
% Set axis colors to match the x axis color
set(app.UIAxes.YAxis, 'Color', app.UIAxes.XAxis.Color)
% Go back to the left y-axis and assign ylabel
yyaxis(app.UIAxes, 'left')
ylabel(app.UIAxes, 'Left Side Label')
% [DO ALL PLOTTING HERE]; Demo:
plot(app.UIAxes, randi(100,1,20), randi(50, 1,20), 'o')
% After plotting is done, link the y axes
% Link yaxis properties
app.UIAxes.UserData = linkprop(app.UIAxes.YAxis,...
{'Limits','LimitsMode','TickValues','TickLabelFormat','Scale',...
'Color','FontSize'}); %add more as needed
Result:

2 Comments
Adam Danz
on 17 Oct 2020
Sounds good. Two critical things to remember:
- Use yyaxis(app.UIAxes, 'left') or yyaxis(app.UIAxes, 'right') to control which side you're working with.
- Place the app.UIAxes.UserData = linkprop... line after doing the plotting.
More Answers (0)
See Also
Categories
Find more on Graphics Object Properties in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!