2017-08-18 4 views
3

Ich habe eine komplizierte Figur, die aus 3-4 Plots besteht. Diese Plots werden in Außenfunktion erstellt; und ich benutze diese Funktion in meinem eigenen Skript.Zugriff auf die Figur in der Abbildung, um ein neues Diagramm in MATLAB hinzuzufügen

Die Sache ist, dass ich ein weiteres Grundstück zu dem bestehenden hinzufügen möchte. Wenn ich das mit "Halten" versuche, fügt es sich selbst dem falschen Ort hinzu, nicht dem richtigen Plot.

Auch früher wollte ich Farbe, Dicke und andere Eigenschaften dieser zweiten Handlung ändern - und dann hatte ich die erste Funktion geöffnet und ändere diese Eigenschaften dort, aber für jetzt scheint es nicht der richtige Weg zu sein Behandeln Sie dieses Problem. Die Funktion kann beim Aktualisieren der MATLAB-Toolbox überschrieben werden. Deshalb möchte ich eine Lösung finden, um alle diese Änderungen in meiner eigenen Funktion zu behandeln.

Here is the example of my problem

Wenn Sie irgendwelche Ideen haben, vielen Dank für das Teilen! Mary

+0

Sie sagen, "das rigth Plot", "die erste" "die zweite". Aber wir haben keine Ahnung, was du damit meinst –

+1

Hi! Danke für Ihre Antwort. Ich fügte auch das Bild mit dem Kommentar hinzu, um zu zeigen, was ich wirklich meine. Ich möchte nur wissen, wie man eine Figur in der anderen ändert; und das im Skript zu tun; nicht in GUI. Außerdem weiß ich, dass man seinen Figuren verschiedene Namen geben und sie in der Beispieldarstellung darstellen kann; und dann auf sie einzeln in der Schrift zugreifen; aber mein Problem ist, dass ich "Außen" -Funktion verwende, um sie zu plotten, und ich möchte diese Funktion überhaupt nicht ändern. – BloodyMary

Antwort

2

Ihre Lösung wird im Zusammenhang wahrscheinlich diesen Aufruf:

hAllAxes = findobj(gcf,'type','axes'); 

Dadurch werden alle Griffe an allen Achsen in der aktuellen Zahl zurück. Einer der Griffe, z.B. hAllAxes(1) ist der untere Plot (es wird immer derselbe sein, aber da Sie Code nicht gezeigt haben, kann ich nicht sagen, welcher).

Dann können Sie immer zeichnen die Achsen der Auswahl:

plot(hAllAxes(1),myX,myY); 
+2

Ich habe meinen letzten Kommentar gelöscht. Alles funktioniert jetzt perfekt. In "plot (hAllAxes {1}, myX, myY);" Es ist notwendig, {} zu() zu ändern, und es funktioniert gut. Vielen Dank! Ich habe jetzt zwei Tage nach diesem Code gesucht ... Uhh, das ist eine Erleichterung. Vielen Dank! Jetzt kann ich jedes Diagramm ändern, das ich will :). – BloodyMary

Verwandte Themen