Wie plot Pfeil mit Daten-Koordinaten in Matlab?
Ich weiß, gibt es eine Funktion mit der annotation dargestellt werden können, Pfeile oder Doppelpfeile. Aber eine Anmerkung kann nur plot in normalisierter Einheit. Zum Beispiel:
annotation('arrows',[x1 x2],[y1 y2])
Hier, [x1, x2], sollte ein Verhältnis Zahl, die kleiner als eins.
So, meine Frage ist wie kann ich den plot Pfeile mit einem wahren Wert eher als einen normalisierten Wert?
Frage ich mich, ob es irgendeine andere Funktion, die können dieses Konzept oder gibt es irgendeine Funktion, die ich bekommen kann die Achse der Wert der Figur, so dass ich einstellen kann, den wahren Wert in eine normalisierte Wert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe gerade entdeckt, diese Methode, da ich nicht wollen, die Mühe mit normierten Einheiten. Verwenden Sie den latex-interpreter:
Um den Pfeil mehr, verwenden Sie einen größeren Schriftgrad.
Profis
Nachteile
Für die Positionierung von Anmerkungen, Matlab bietet die Funktion
dsxy2figxy
um Daten zu konvertieren Platz Punkte normalisierten Raum-Koordinaten. Jedoch, aus welchen Gründen auch immer, die Funktion ist nicht enthalten in der Matlab-distribution und muss "erstellt" erste.Kopieren Sie die folgende Zeile in das Befehlsfenster, und führen Sie es zu, öffnen Sie die Funktion in Ihrem editor.
Verwenden Sie die Funktion
dsxy2figxy
speichern Sie es irgendwo in Ihrem matlab-Suchpfad enthalten ist.Finden Sie die vollständigen Anweisungen für die Funktion
dsxy2figxy
im matlab-zentrale: http://www.mathworks.de/help/techdoc/creating_plots/bquk5ia-1.htmladdpath(fullfile(docroot,'techdoc','creating_plots','examples'))
auch die Beispiel-Funktion auf Ihrem MATLAB-Pfad (vorausgesetzt die Datei existiert).Obwohl
annotation
verwendetnormalized
als Standard-Einheiten, ordnen Sie diese Objekte an die aktuellen Achsen (gca
) und Nutzung von Daten-Einheiten für die EinstellungX
undY
Eigenschaften.Hier ist ein Beispiel des Zeichnens einer einzigen Pfeil.
Für jeden, der kommt über dieses Thema suchen, um zu zeichnen Pfeile in der "Daten-Raum" anstatt in Einheiten relativ zur Abbildung und/oder Achsen, empfehle ich Pfeil.m aus der Datei exchange.
Wenn ich mich richtig erinnere müssen Sie zur Berechnung der position der Achsen in Bezug auf die Figur.
sollte es gehen wie:
Hinweis Festen offset in der ursprünglichen Berechnung - ap(3),ap(4) sind die Breite und Höhe des gca, nicht Eckpunkte
Nach dem erstellen der annotation-Objekt, setzen Sie die Eigenschaft Einheiten auf ein absolutes eine. Beispiel:
annotation(..)
notwendig ist, und die andere in der Regel nützlich Wahl der Einheiten ist'pixels'
.'Position'
muss festgelegt werden nach - Einstellung'Units'
, aber es kann getan werden in einer Zeile:set(arrowObj, 'units', 'pixels', 'position', [100 100 200 400])
, in dem Fall auch, das'units'
muss vor'position'
.Einen Ansatz zu definieren, eine Pfeilspitze in der axis-Einheiten:
Dann auf die gewünschte Pfeilspitze index in eine Kurve vv, berechnen
Arbeitete für mich, für meine Besondere Umstände.
Können Sie verwenden Sie die "Pfeil" - Komponente in der (gut dokumentierten) DaVinci Zeichnen toolbox (full disclosure: ich schrieb/verkaufen der toolbox, aber Pfeile sind frei).
Beispiel-syntax und Beispiel für die Ausgabe sind unter.