Ich hab mal wieder ein kleines Problem mit meiner GUI.. Ich lasse Datensätze analysieren und anschließend die Ergebnisse als ein Datenpunkte pro Datensatz im Bezug auf verschiedene Analyseparameter in einem Axes-Object plotten. Ich habe ein Pop-Up-Menü, mit dem man die verschiedenen Parameter auswählen kann, die jeweils geplottet werden sollen. Die ganzen plot-Befehle stehen in der Callback-Function der Pop-Up-Menüs.
Jetzt möchte ich durch Anklicken des Axes-Objects erreichen, dass die plot-Function (also das Pop-Up-Callback) neu aufgerufen wird. Dazu habe ich den Namen der Callback-Fct des Pop-Up-Menüs in die ButtonDownFct des Axes geschrieben.
Jetzt zu meinem Problem: Während der Analyse werden bereits Datenpunkte geplottet. Wenn ich nach der Analyse auf das Axes klicke, wird die ButtonDownFct wie gewollt ausgeführt. Sobald ich aber das Pop-Up-Menü benutzt habe, passiert nichts mehr, sobald ich auf das Axes klicke.
Ich finde keine Grund dafür, könnt ihr mir vielleicht helfen? Ich habe den Code der Callback-Fct des Pop-Up-Menüs angehangen, falls es weiterhilft..
Vielen Dank!
mfg
Knappe Franz
Code:
function PUM_peak_Callback(hObject, eventdata, handles) axes(handles.AXES_peakhoehe);
anz = str2num(get(handles.EDIT_anzahl,'String'));
anzGF = str2num(get(handles.EDIT_anzGF,'String'));
plotcolor = ['b','m','r','k','g','y','c'];
count = handles.count_width;
if hObject == handles.AXES_peakhoehe if count < anzGF
count = count + 1;
else
count = 1;
end
handles.count_width = count;
end for i=1:anz
xfit = handles.xfit{i};
for j=1:anzGF
if(i==1) && (j==1) hold off
else hold on
end switchget(handles.PUM_peak,'Value') case1 plot(i,xfit{j}(1),[plotcolor(j),'o'])
m = mean(xfit{1}(1));
if i>1
yl = get(gca,'YLim');
ylim([..]) end % ylim([xfit{1}(1)-0.01 xfit{1}(1)+0.01]) case2
..
case3
..
case4
..
end end end ifget(handles.CB_grid,'Value')==1 grid on;
else grid off;
end xlim([0 anz+1]);
xlabel('Datei');
show_Legend(handles)
Aus irgendeinem Grund hat das Anklicken des Pop-Up-Menüs dafür gesorgt, dass die ButtonDownFcn des Axes-Objekts gelöscht wird. Ich füge sie nun im Callback des Pop-Up-Menüs jedesmal manuell hinzu.. Hat jemand ne Idee, warum das passiert?
Grüße
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.