How to assign yyaxis 'Label' and 'Range' to UIAxes in matlab appdesigner (R2020a)
57 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Adam Danz
2020-10-17
编辑:Adam Danz
2020-10-17
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 个评论
Adam Danz
2020-10-17
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.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!