Plotting in App designer
    131 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Francesco Carraro
 le 19 Fév 2020
  
    
    
    
    
    Modifié(e) : VBBV
      
      
 le 24 Fév 2023
            Hello everyone,
I just started using AppDesigner, and I don't know how to plot a function inside a "UIAxes" graph. I created this figure using the items in the component library, but once I switch in the "Code view" mode, I don't know how and where to add strings code to plot the function. To start I would plot a simple function as "sin(x)" in the selected "UIAxes". 
classdef App1 < matlab.apps.AppBase
    % Properties that correspond to app components
    properties (Access = public)
        UIFigure        matlab.ui.Figure            % UI Figure
        UIAxes          matlab.ui.control.UIAxes    % Telemetria
        UIAxes2         matlab.ui.control.UIAxes    % Telemetria
        LabelEditField  matlab.ui.control.Label     % Throttle
        EditField       matlab.ui.control.EditField % ------
        LabelEditField2 matlab.ui.control.Label     % F.Brake
        EditField2      matlab.ui.control.EditField % -----
        Slider          matlab.ui.control.Slider    % [0 100]
        UIAxes3         matlab.ui.control.UIAxes    % Track Map
    end
    methods (Access = private)
        % Code that executes after component creation
        function startupFcn(app)
        end
    end
    % App initialization and construction
    methods (Access = private)
        % Create UIFigure and components
        function createComponents(app)
            % Create UIFigure
            app.UIFigure = uifigure;
            app.UIFigure.Position = [100 100 640 480];
            app.UIFigure.Name = 'UI Figure';
            setAutoResize(app, app.UIFigure, true)
            % Create UIAxes
            app.UIAxes = uiaxes(app.UIFigure);
            title(app.UIAxes, 'Telemetria');
            app.UIAxes.Box = 'on';
            app.UIAxes.XGrid = 'on';
            app.UIAxes.YGrid = 'on';
            app.UIAxes.Position = [0 279 373 185];
            % Create UIAxes2
            app.UIAxes2 = uiaxes(app.UIFigure);
            title(app.UIAxes2, 'Telemetria');
            app.UIAxes2.Box = 'on';
            app.UIAxes2.XGrid = 'on';
            app.UIAxes2.YGrid = 'on';
            app.UIAxes2.Position = [23 45 604 226];
            % Create LabelEditField
            app.LabelEditField = uilabel(app.UIFigure);
            app.LabelEditField.HorizontalAlignment = 'right';
            app.LabelEditField.FontSize = 10;
            app.LabelEditField.Position = [546 233 35 15];
            app.LabelEditField.Text = 'Throttle';
            % Create EditField
            app.EditField = uieditfield(app.UIFigure, 'text');
            app.EditField.Position = [586 230 31 20];
            app.EditField.Value = '------';
            % Create LabelEditField2
            app.LabelEditField2 = uilabel(app.UIFigure);
            app.LabelEditField2.HorizontalAlignment = 'right';
            app.LabelEditField2.FontSize = 10;
            app.LabelEditField2.Position = [546 209 36 15];
            app.LabelEditField2.Text = 'F.Brake';
            % Create EditField2
            app.EditField2 = uieditfield(app.UIFigure, 'text');
            app.EditField2.Position = [586 206 28 20];
            app.EditField2.Value = '-----';
            % Create Slider
            app.Slider = uislider(app.UIFigure);
            app.Slider.MajorTickLabels = {'', '', '', '', '', ''};
            app.Slider.Position = [51 33 566 3];
            % Create UIAxes3
            app.UIAxes3 = uiaxes(app.UIFigure);
            title(app.UIAxes3, 'Track Map');
            app.UIAxes3.Position = [397 298 230 166];
        end
    end
    methods (Access = public)
        % Construct app
        function app = App1()
            % Create and configure components
            createComponents(app)
            % Register the app with App Designer
            registerApp(app, app.UIFigure)
            % Execute the startup function
            runStartupFcn(app, @startupFcn)
            if nargout == 0
                clear app
            end
        end
        % Code that executes before app deletion
        function delete(app)
            % Delete UIFigure when app is deleted
            delete(app.UIFigure)
        end
    end
end

1 commentaire
  Eric Sargent
    
 le 9 Déc 2020
				
      Modifié(e) : Eric Sargent
    
 le 9 Déc 2020
  
			The integrated documentation can also help:
Réponse acceptée
Plus de réponses (2)
  V.VENKATA
 le 6 Fév 2023
        desin an app to find laplace transform of given signal and plot the laplace transform
0 commentaires
  VBBV
      
      
 le 24 Fév 2023
        
      Modifié(e) : VBBV
      
      
 le 24 Fév 2023
  
      You need to add a callback  function first  to each of the components for graphs in which you want to plot.  E.g. 
%Callback to UIAxes
function Plot1(app,event)  % corresponding to UIAxes chart
    x = 1:10;
    y = sin(x);
    plot(app.UIAxes,x,y);  % call/specify the handle to axess
end
%Callback to UIAxes2
function Plot2(app,event)  % corresponding to UIAxes2 chart
    x = 1:10;
    y = sin(x);
    plot(app.UIAxes2,x,y);  % call/specify the handle to axes
end
Then use the corresponding axes handle  to the plot function as above.  Preferably, a pushbutton/s is required to generate the event for the desired callback function
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!




