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

zugreifen auf einzelne Graphen

 

Vanillebacke
Forum-Century

Forum-Century


Beiträge: 167
Anmeldedatum: 06.05.09
Wohnort: Hamburg
Version: R2014a
     Beitrag Verfasst am: 27.05.2009, 15:03     Titel: zugreifen auf einzelne Graphen
  Antworten mit Zitat      
moinsen,

hab mit gui einen plot erzeugt von einigen messreihen. Wie kann ich auf einzelne messpunkte zugreifen (anklicken, markieren) und diesen markierten punkt(wertepaar) löschen ohne dass die gesamte messreihe verloren geht!????

wer kann mir da helfen??

danke

vb
Private Nachricht senden Benutzer-Profile anzeigen


outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 27.05.2009, 15:22     Titel:
  Antworten mit Zitat      
Als test.m abspeichern und ausführen.
Habe auf die schnelle geschrieben - passe es an wie Du es brauchst.

Code:
function test
figure
x = 10*rand(1,10)
y = 10*rand(1,10)
plot(x,y,'.','buttondownfcn',{@click})
axis([0 10 0 10])

function click(hObj,data,x,y)
pos = get(gca,'CurrentPoint')
x = get(hObj,'xdata');
y = get(hObj,'ydata');
[cnc ind] = min(sqrt((pos(1)-x).^2+(pos(3)-y).^2));
x(ind) = [];
y(ind) = [];
set(hObj,'xdata',x,'ydata',y)
 



MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
josekamara
Forum-Meister

Forum-Meister


Beiträge: 529
Anmeldedatum: 26.04.08
Wohnort: München
Version: ---
     Beitrag Verfasst am: 27.05.2009, 16:30     Titel:
  Antworten mit Zitat      
Hallo Outsider,

was macht man, wenn man dann mehrere Graphs im Axes hat. Wie kann man gezielt ein Graph im Axe löschen?

Danke Dir.

Jose
_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
Vanillebacke
Themenstarter

Forum-Century

Forum-Century


Beiträge: 167
Anmeldedatum: 06.05.09
Wohnort: Hamburg
Version: R2014a
     Beitrag Verfasst am: 27.05.2009, 16:48     Titel:
  Antworten mit Zitat      
gib s dann auch ne möglichkeit, wenn ich von einem graph den wert gelöscht habe, dass gui automatiosch zwischen den linken ud rechten wert interpoliert????

danke
Private Nachricht senden Benutzer-Profile anzeigen
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 28.05.2009, 07:50     Titel:
  Antworten mit Zitat      
@Vanilebacke
Natürlich geht das auch. Nach dem der Punkt gelöscht wird, sollte eine Interpolation entweder über alle Punkte oder zwischen den 2 Nachbarpunkten neu berechnet werden.

Hier ein Beispiel wenn der Punkt aus den Nachbarnwerten errechnet wird.
Ansonsten kannst Du den Gebrauch von der Funktion INTERP machen
Code:
function test
figure

x = 1:10
y = 10*rand(1,10)
plot(x,y,'-.','buttondownfcn',{@click})
axis([0 10 0 10])

function click(hObj,data,x,y)
pos = get(gca,'CurrentPoint')
x = get(hObj,'xdata');
y = get(hObj,'ydata');
[cnc ind] = min(sqrt((pos(1)-x).^2+(pos(3)-y).^2))
% x(ind) = [];
y(ind) = (y(ind-1)+y(ind+1))/2;
set(hObj,'ydata',y)



@Josekamara
Das ist sogar noch einfacher

Code:
figure
plot(rand(1,10),'buttondownfcn','delete(gcbo)','color',rand(1,3))
hold on
plot(rand(1,10),'buttondownfcn','delete(gcbo)','color',rand(1,3))
plot(rand(1,10),'buttondownfcn','delete(gcbo)','color',rand(1,3))
plot(rand(1,10),'buttondownfcn','delete(gcbo)','color',rand(1,3))
plot(rand(1,10),'buttondownfcn','delete(gcbo)','color',rand(1,3))
plot(rand(1,10),'buttondownfcn','delete(gcbo)','color',rand(1,3))
plot(rand(1,10),'buttondownfcn','delete(gcbo)','color',rand(1,3))



MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Vanillebacke
Themenstarter

Forum-Century

Forum-Century


Beiträge: 167
Anmeldedatum: 06.05.09
Wohnort: Hamburg
Version: R2014a
     Beitrag Verfasst am: 10.06.2009, 09:11     Titel:
  Antworten mit Zitat      
super, danke funktioniert....

noch ne weitere frage:

mit der interpolatiion klappt es prima, was uss ich machen, wenn ich den angeklickten punkt löschen möchte und keine interpolation haben möchte. sondern eine sogenannte "polstelle" dann.???

mfg

vb

edit by steve: Frage bitte hier beantworten.
@ VanilleBacke: Bitte die Frage nur einmal stellen, damit nicht 100x die gleiche Antwort irgendwo steht - Doppelposting Wink
Danke!
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.