app designer - how to add multiple x-axes on top and bottom of uiaxes
18 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Sveta Golod
le 18 Mai 2020
Réponse apportée : Ali BOULGSOA
le 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 commentaires
Anna Sergeeva
le 17 Mar 2021
Modifié(e) : Anna Sergeeva
le 17 Mar 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
Réponse acceptée
Sveta Golod
le 19 Juil 2020
2 commentaires
Gina Abdelhalim
le 7 Oct 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
le 12 Oct 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
Plus de réponses (2)
Shubh Sahu
le 23 Juin 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 commentaire
Ali BOULGSOA
le 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 commentaires
Voir également
Catégories
En savoir plus sur Develop Apps Using App Designer dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!