WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

App Designer Tabelle auslesen udn plotten

 

Matlab Noob
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 28.10.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.10.2021, 13:37     Titel: App Designer Tabelle auslesen udn plotten
  Antworten mit Zitat      
Guten Tag,

ich habe eine aufgabe bekommen von der Uni und muss ein user interface erstellen, bei dem man über einen button die excel dabei auswählen kann, anschließend die x,y achse und den titel benennen kann, anschließend auf plot drücken, sodas eine tabelle erscheint.

Nun meine Frage, wie kann ich die Daten aus der Excel Tabelle rauslesen und wie die Achsen bennenen?

Code:
    [file, path] = uigetfile('*.xlsx','Select your Excel file','C:\');
           
            [status,sheets]=xlsfinfo([path file]);
               selectedsheet=listdlg('ListString',sheets);
               
               msgbox('choose title, x and y axis')
           
            if isequal(file,0)    
               msgbox('Please input an Excel file')
               
               
            else
                t = xlsread(fullfile(path, file),selectedsheet);
                app.UITable.Data = t;
                % Set column names as a pull down menu
T                app.xDropDown.Items = t.Properties.VariableNames;
                app.yDropDown.Items = t.Properties.VariableNames;
               
                plot(app.UIAxes, app.UITable.Data.(app.xDropDown.Value), app.UITable.Data.(app.yDropDown.Value));
            end
           
        end

        % Callback function
        function xDropDownValueChanged(app, event)
            value = app.xDropDown.Value;
           
            plot(app.UIAxes, app.UITable.Data.(app.xDropDown.Value), app.UITable.Data.(app.yDropDown.Value));
        end

        % Callback function
        function yDropDownValueChanged(app, event)
            value = app.yDropDown.Value;
           
            plot(app.UIAxes, app.UITable.Data.(app.xDropDown.Value), app.UITable.Data.(app.yDropDown.Value));
        end

        % Button pushed function: PlotButton
        function PlotButtonPushed(app, event)
         
           
           
        end

        % Value changed function: xaxisnameTextArea
        function xaxisnameTextAreaValueChanged(app, event)
            value = app.xaxisnameTextArea.Value;
            xlabel(app.xaxisnameTextArea.Value);
        end

        % Value changed function: yaxisnameTextArea
        function yaxisnameTextAreaValueChanged(app, event)
            value = app.yaxisnameTextArea.Value;
            ylabel(app.yaxisnameTextArea.Value);
        end

        % Value changed function: titlenameTextArea
        function titlenameTextAreaValueChanged(app, event)
            value = app.titlenameTextArea.Value;
            title(app.titlenameTextArea.Value);
        end

        % Selection changed function:
        % selectthevaluefromthetableButtonGroup
        function selectthevaluefromthetableButtonGroupSelectionChanged(app, event)
            selectedButton = app.selectthevaluefromthetableButtonGroup.SelectedObject;
           
        end

        % Size changed function:
        % selectthevaluefromthetableButtonGroup
        function selectthevaluefromthetableButtonGroupSizeChanged(app, event)
            position = app.selectthevaluefromthetableButtonGroup.Position;
           


Good day,

I got a task from the university and I have to create a user interface, where you can select the excel with a button, then you can name the x,y axis and the title, then press plot, so that a table appears.

Now my question, how can I read the data from the Excel table and how to name the axes?
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.425
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 31.10.2021, 09:11     Titel:
  Antworten mit Zitat      
Hallo,

auf Anhieb sehe ich da das Problem, dass t das Ergebnis von xlsread ist, du es aber als Table weiterverwendest. Dann solltest du readtable statt xlsread verwenden. Aufpassen: readtable verwendet Parameter-Wert-Paare statt zusätzlicher Argumente.
Zum Beschriften: xlabel und ylabel .

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlab Noob
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 28.10.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.11.2021, 08:48     Titel: App Designer Tabelle auslesen und plotten
  Antworten mit Zitat      
Guten Morgen Harald,

habe ich auch schon überlegt aber dann kann man das sheet in der Excel Tabelle nicht auswählen glaube ich. Wenn ich auf Plot gedrückt habe hats auch immer die Werte rausgelsen aber halt alle und da waren viele dabei die es nicht verabreiten konnte

ausserdem hab eich jetzt ein neues Problem und zwar weiß ich nicht wie ich die X-Achse skalieren kann und wie bzw ob man nur bestimmte werte auswählen kann oder so

Code:
 global t;
            O=t(:,:)
            plot(T,O);
 


hab jetzt einfach mal das bei meinem Plot button hingeschrieben und vielleicht würde es ja gehen wenn ich weiß wie man die X-Achse skaliert.

danke:)
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.425
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.11.2021, 14:09     Titel:
  Antworten mit Zitat      
Hallo,

man kann auch bei readtable das Sheet auswählen.
Code:
t = readtable(fullfile(path, file), 'Sheet', selectedsheet);


Mit logischer Indizierung kannst du die zu plottenden Daten auswählen und mit xlim / ylim kannst du die Skalierung anpassen.

Um Daten zwischen Callbacks zu teilen, solltest du sie in App Designer als Eigenschaften anlegen statt globale Variablen zu verwenden.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.