app designer - how to add multiple x-axes on top and bottom of uiaxes
19 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Sveta Golod
am 18 Mai 2020
Beantwortet: Ali BOULGSOA
am 15 Nov. 2022
I want to display a plot in appdesigner with multiple x-axes and y axes.
I have a GUI with axes object. I succeeded to add second Y axis by using:
yyaxis(app.UIAxes,'right')
plot(app.UIAxes,.....)
But I can't figure out how to add second x axes.
I was trying to do it similar to the instructions here: https://www.mathworks.com/help/matlab/creating_plots/graph-with-multiple-x-axes-and-y-axes.html
by using:
ax2 = axes('Position',app.UIAxes.Position,'XAxisLocation','top','YAxisLocation','right','Color','none');
plot(ax2,Iout,yout,'o-r','Parent',ax2)
But it doesn't work, it creates a new figure outside the GUI instead.
2 Kommentare
Anna Sergeeva
am 17 Mär. 2021
Bearbeitet: Anna Sergeeva
am 17 Mär. 2021
Hi
Did you solve your problem?
I am sitting with a similar problem now. I want to plot 16 curves in the same app.UIAxes but with different y-axes.
If I do as described in the accepted answer, I get an error
function startupFcn(app)
app.ax1 = axes(app.UIFigure)
app.ax2 = axes(app.UIFigure)
% Do additional processing to add plots to the axes, change positioning, etc.
end
Best
Anna
Akzeptierte Antwort
Sveta Golod
am 19 Jul. 2020
2 Kommentare
Gina Abdelhalim
am 7 Okt. 2020
could you maybe post what your code looks like? I am trying to do it, but i keep getting errors! i would appreciate your help very much
jonas
am 12 Okt. 2020
I guess ax1 and ax2 are global properties, so if you want to save the handles in app.x then you need to define them first
properties (Access = public)
ax1
ax2
end
Weitere Antworten (2)
Shubh Sahu
am 23 Jun. 2020
I have found few answers similar to your question, Please find their link below:
- https://www.mathworks.com/matlabcentral/answers/91661-is-it-possible-to-plot-the-data-and-show-two-different-scales-for-the-same-data-using-matlab-7-9-r2
- https://www.mathworks.com/matlabcentral/answers/98907-how-can-i-add-a-second-y-axis-with-a-different-scale-in-a-plot-in-matlab-7-9-r2009b
Hope this helps!
1 Kommentar
Ali BOULGSOA
am 15 Nov. 2022
I have found the answer to your question :
hold(app.UIAxes,'on')
yyaxis(app.UIAxes,'left')
loglog(app.UIAxes,Ti,xt)
app.UIAxes.YLimMode = 'auto';
app.UIAxes.XLimMode = 'auto';
app.UIAxes.XScale='log';
colorbar(app.UIAxes,'off');
app.UIAxes.XLabel.String ='Time (s)'
app.UIAxes.YLabel.String = 'Amplitude (%)';
yyaxis(app.UIAxes,'right')
loglog(app.UIAxes,Ti,population)
app.UIAxes.YLimMode = 'auto';
app.UIAxes.XLimMode = 'auto';
colorbar(app.UIAxes,'off');
app.UIAxes.XLabel.String = 'Time (s)';
app.UIAxes.YLabel.String = 'Population (%)';
hold(app.UIAxes,'off')
0 Kommentare
Siehe auch
Kategorien
Mehr zu Develop Apps Using App Designer finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!