How to assign yyaxis 'Label' and 'Range' to UIAxes in matlab appdesigner (R2020a)
51 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
taimour sadiq
le 17 Oct 2020
Modifié(e) : taimour sadiq
le 24 Fév 2021
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 commentaires
Réponse acceptée
Adam Danz
le 17 Oct 2020
Modifié(e) : Adam Danz
le 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 commentaires
Adam Danz
le 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.
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!