Verfasst am: 24.02.2017, 13:19
Titel: Marker in Plot in GUI erstellen
Hallo zusammen,
ich habe schon einiges rumgegoogelt und hier im Forum gesucht, leider ohne Erfolg.
Ich habe ein GUI erstellt, das mir Messwerte plottet. D.h. ich wähle im GUI die gewünschten Daten aus und lasse sie mir dann plotten.
Im GUI kann ich dann über zwei Edit Text-Felder Zahlen eingeben, die ein Intervall innerhalb meines Plots festlegen.
Diese beiden Zahlen lese ich in der Callback-Funktion der Edit Text-Felder als String aus und wandle sie anschließend in ein Double um. Diese Punkte benötige ich an anderer Stelle im Code wieder. Der Code funktioniert bis hierhin genau so, wie ich ihn haben will.
Nun möchte ich zusätzlich diese Intervallgrenzen mit Markern im Plot sichtbar machen. Mein Code zum Punkt P2 dazu sieht folgendermaßen aus:
Code:
function P2_Callback(hObject, eventdata, handles) % hObject handle to P2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
P2 = get(handles.P2,'String')
P2 = str2double(P2);
hold on
y = 0;
plot(P2,y,'Marker','s','MarkerSize','10','MarkerFaceColor','b');
handles.P2 = P2;
guidata(hObject,handles);
Die Fehlermeldung dazu:
Error using plot
Value not a numeric scalar
Ich verstehe leider einfach nicht, warum P2 kein Skalar ist, nachdem ich es doch in ein Double umwandle? Oder stehe ich einfach auf dem Schlauch?
str2num habe ich auch schon probiert, gleiche Fehlermeldung. Habe versucht, die Eingabe aus dem Edit Text als Double auszulesen, geht nicht.
Ich verstehe leider einfach nicht, warum P2 kein Skalar ist
Da steht ja auch nirgends, dass P2 kein Skalar wäre. Das Problem liegt im Wert für 'MarkerSize', der eben ein numerischer Wert (10) sein muss und kein String ('10').
Ich kann nicht glauben, dass das mein Fehler war. Wie bitter! Danke dir (schon wieder wegen einer solchen Lappalie...)!
Einstellungen und Berechtigungen
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
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.