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

Graphen über Listbox zu und abschalten

 

Hansdampf
Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 17.12.10
Wohnort: Mannheim
Version: ---
     Beitrag Verfasst am: 21.12.2010, 17:35     Titel: Graphen über Listbox zu und abschalten
  Antworten mit Zitat      
Hallo zusammen,

ich habe zwar schon einiges über mehrere Graphen in einem Plot gelesen und auch etwas über das zu und abschalten aber leider passt nichts auf mein Problem.

Ich habe mir aus meinen eingelsenen Daten eine Matrix gebaut und lasse mit diese auch darstellen.
Hier der code
Code:

Data = reshape(Data,NumOfPoints,NumOfCurves+1);
Data(:,1) = [0:T0:(size(Data,1)-1)*T0].';
Data(:,strmatch('Curve',CurveName)) = [];
CurveName(strmatch('Curve',CurveName))= [];
Data(:,strmatch('leTimeCurve',CurveName)) = [];
CurveName(strmatch('leTimeCurve',CurveName))= [];
switch nargout
case 0
set(gcf)%,'Pointer','fullcross')
[Selection,ok] = listdlg('ListString',CurveName(2:end),'SelectionMode','multiple');
disp (CurveName);
a=evalin('base',CurveName)
disp (a)
switch ok
case 0
plot(Data(:,1),Data(:,2:end))
h = legend(CurveName(2:end),'interpreter','none');
set(h,'Interpreter','none')
xlabel('Zeit in s')
otherwise
plot(Data(:,1),Data(:,Selection+1))
h = legend(CurveName(Selection+1),'interpreter','none');
set(h,'Interpreter','none')
xlabel('Zeit in s')
end
end


Jetzt würde ich gerne meine CurveName(Legende) in eine Listbox oder sonst was einlesen um darüber die Graphen auswählen(zu und abschalten). Nur leider finde ich keine Idee oder passenden Ansatz.(Ich glaube ich sitzte heute schon zu lange davor) Shocked
Möglicherweise hat einer von euch eine Idee. Bin für jeden Tipp mehr als dankbar
Private Nachricht senden Benutzer-Profile anzeigen


Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 22.12.2010, 01:07     Titel:
  Antworten mit Zitat      
Hi,
falls du sowas in dieser Art meinst -> http://www.gomatlab.de/download,id,2617.html dann schreib doch einfach deine CurveName der Messungen in eine Listbox die du neben deiner axes in einer GUI platzierst. Dann kannste doch je nach ausgewählten Values (ausgelesen im Listbox Callback) deine Data(Values) neu in die axes plotten! Zusätzlich kannste ja noch einige GUIobjekte platzieren, die deine axes z.B. YLim XLim etc etwas vom User veränderbar machen...

Ich würde die Daten auch nicht in den Matlab WS ablegen sondern z.B. mittels guidata in die handlestruktur (handles) einpflegen. Diesbezüglich findest du in der Hilfe oder auch hier im Forum massig Tipps...

MfG Marco
Private Nachricht senden Benutzer-Profile anzeigen
 
Hansdampf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 17.12.10
Wohnort: Mannheim
Version: ---
     Beitrag Verfasst am: 22.12.2010, 11:19     Titel:
  Antworten mit Zitat      
Hallo Marco,

genau so was habe ich gemeint. Ich habe jetzt meine CurveNames in eine Listbox gelegt, kann mehrere Kurven auswählen und weiß über get Funktion welche Position gewählt wurde.

Mein Problem ist das "wieder finden" der dazu gehörigen Daten in meiner Matrix. Die Position(Stelle in der Liste) bleibt doch in der Matrix und der Lsite gleich oder?
Private Nachricht senden Benutzer-Profile anzeigen
 
Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 22.12.2010, 11:47     Titel:
  Antworten mit Zitat      
Hi,

ich verstehe nicht ganz dein Problem. Angenommen du hast folgendes cell array:
Code:

Daten = {'Messung1' 1 2 3 4 5 6 7;...
         'Messung2' 3 4 5 6 7 8 9};
 


dann stehen in deiner Listbox Messung1 und Messung2. Liest du nun das value aus, dann kannste doch die entsprechenden Daten ploten. Beispiel wenn value == 2 dann plot(cell2mat(Daten(value,2:end)))...
Wenn du nichts an der Reihenfolge oder Größe deiner Daten änderst, dann bleibt das auch so...

MfG Marco
Private Nachricht senden Benutzer-Profile anzeigen
 
Hansdampf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 17.12.10
Wohnort: Mannheim
Version: ---
     Beitrag Verfasst am: 22.12.2010, 12:39     Titel:
  Antworten mit Zitat      
Hallo Marco,

mein Problem ist auch eher das drucken.

??? Undefined function or variable "Data".

Die Datenmatrix habe ich irgendwo nach Aufruf eines Pushbuttons erstellt und wie ich jetzt mal schwer annehme hab ich diese variable nicht ordnungsgemäß übergeben. Allerdings habe ich noch keinen schimmer wie

Gruß Hansdampf
Private Nachricht senden Benutzer-Profile anzeigen
 
Hansdampf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 17.12.10
Wohnort: Mannheim
Version: ---
     Beitrag Verfasst am: 22.12.2010, 12:56     Titel:
  Antworten mit Zitat      
Hallo Marco,

lang lebe die Suche im Forum
handles.Data=Data
......
handles.Data2=handles.Data

Es läuft, Danke für die Hilfe
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 - 2025 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.