Matlab - How, um eine Abbildung der aktuellen? Wie man eine Achsen-Strom?
Wenn f
ist der Abbildung handle, wollte ich plot3(..)
auf es wie ich verwenden würde plot(..)
, aber das hat nicht funktioniert:
>> plot3(f, t, real(Y), imag(Y))
Error using plot3
Vectors must be the same lengths.
Dann habe ich herausgefunden, dass die Art und Weise, dies zu tun ist, um:
- Ersten stellen der jeweiligen Zahl aktuellen.
- Dann verwenden Sie die
plot3(..)
Funktion.
Kann ich finden, was die aktuelle Zahl ist mit gcf
, aber wie mache ich eine Abbildung der aktuellen (über den Griff)?
By the way, wenn wir nicht einen Verweis auf ein Achsen-Objekt, dann können wir (1)
(Während für die zahlen, die aktuell status zu ändern scheint mit der Fokus.)
aa = findobj(gcf, 'type', 'axes')
, dann (2) cellfun(@(x) disp(x), get(aa, 'position'))
, von denen wir sagen können, die Nebenhandlung ist, dann (3) axes(aa(2))
zum Beispiel, um die zweiten Achsen-Objekts aktuell.(Während für die zahlen, die aktuell status zu ändern scheint mit der Fokus.)
InformationsquelleAutor Evgeni Sergeev | 2012-10-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Methode hat meine persönliche Präferenz:
da diese Befehle Ihre eigene Dokumentation. Ich finde
und wie verwirrend beim ersten Lesen -- erstellen Sie eine neue Abbildung? oder bloß eine bestehende active? -> mehr Lesen von Rahmen erforderlich ist.
Ein weiterer Vorteil ist, dass Matlab nicht explizit die Sichtbarkeit auf 'on' mit diesem, behält aber den ehemaligen Sichtbarkeit der Abbildung.
Ich nehmen Sie Ihren Punkt WRT Lesbarkeit, aber ist der 1. Zeile wirklich besser lesbar? WTF ist 0? Mann ich hasse Matlab.
Jede Programmiersprache hat seine Macken, keine Notwendigkeit, start-bashing. Was gut ist, dass
0
ersetzt worden ist in der neueren MATLAB mitgroot
-- die Grafik-root-Objekt. Macht mehr Sinn.InformationsquelleAutor Rody Oldenhuis
Es ist tatsächlich so einfach wie die Fütterung der
f
zurück in diefigure(..)
Befehl:Auch, wenn ich so etwas Tat:
Dann kann ich die Achsen
top
oderbottom
Strom durch die Ausgabe von einem Befehl wie diesem:Funktioniert das auch:
Aber die zwei Arten von Griffen können nicht vermischt werden:
axes(..)
undsubplot(..)
arbeiten an Achsen, Griffe, währendfigure(..)
arbeitet auf der Abbildung der Griffe.verdienen ein Abzeichen (2) da gefördert auf (siehe auch (1))
Verdammt, Matlab nervt manchmal. Im ernst, Mathworks, warum können Sie nicht einfach die
axes_handle
parameterplot3
?Da konnte ich nicht finden die Antwort so schnell wie ich haben sollten. Ich hatte erwartet, geben Sie in "matlab machen Abbildung der aktuellen" in SO und die Antwort bekommen, in 5 Sekunden, aber es war nicht da. Da ich das Dutzende Male pro Tag, und bekommen eine Menge Hilfe, es macht Sinn, manchmal tragen, wenn Sie wissen, eine Frage, die vielleicht ziemlich wahrscheinlich sparen Sie eine Menge Leute je 2 Minuten.
Ich Frage mich, ob es die Abzeichen oder allgemein die Sauberkeit der Eingabe in diese Website, das ist die eigentliche motivation, unterbewusst.
InformationsquelleAutor Evgeni Sergeev
Während andere haben Sie genau das, was Sie gefragt haben, für die (wie Achsen oder Abbildung der aktuellen). Meine bevorzugte Methode für den Umgang mit dieser, ist explizit angeben, die Eltern von Ihrem Grundstück in den Ruf zu
plot3
.Wenn man sich die Dokumentation, Sie werden sehen, dass Sie können geben Sie den übergeordneten Achsen, da der erste parameter der Funktion. Wenn sieht wie Sie versucht, dies zu tun in deinem Beispiel, aber sofern Sie einen handle zu einem Abbildung eher als eine Achsen.
Abwechselnd, ich bevorzuge die explizite Lösung
Die nette Sache über diese explizite parameter/Wert-Angabe der Eltern ist, dass Sie akzeptiert alle Grafik-Objekte. Funktionen wie
plot
undplot3
sind eigentlich Hilfsfunktionen, wickeln Sie die Funktionalität vonline
und damit für die Konvention übergabe von der Eltern-ersten. Der parameter/value-Ansatz ist weithin anerkannt, unabhängig davon, ob Sie arbeiten mit einem höheren level-Funktion (plot
,plot3
,imshow
) oder der unteren Ebene Objekte (line
,image
usw.)Die beiden Vorteile hier sind, dass Sie entfernen Sie den overhead von MATLAB zu versuchen, herauszufinden, wo Sie Ihre Handlung und auch, es wird verhindert, dass MATLAB aus, die zu ändern, welches Bild gerade angezeigt wird, zwingt ein re-rendering, die ist eine von MATLAB ist die langsamste Aufgaben.
InformationsquelleAutor Suever
geben handhaben Namen Bild, geben Sie ein kleines Beispiel
InformationsquelleAutor neouyghur