Ich mache gerade eine "fancy" Annotation in Matplotlib:
%Vor%Ich möchte jetzt ein wenig Text neben dem Pfeil hinzufügen. Die Ausgabe sollte wie folgt aussehen:
Ich bin an einer allgemeinen Lösung interessiert, bei der die Textplatzierung programmgesteuert auf der Wahl des Pfeilpfades des Renderers basiert. Z. B.
src_pos
und dst_pos
. arrowprops
eingestellt ist und welche connectionstyle
verwendet wird. plt.draw()
bis zum Ende des Skripts nicht aufrufen zu müssen. Danke!
Schauen Sie sich einfach die Seite Ссылка an. Es scheint, dass der Text unabhängig vom Pfeil platziert werden kann, wenn Sie die Koordinaten kennen. Fügen Sie dies vor dem Befehl draw () hinzu:
%Vor%Im Sinne einer verallgemeinerten Lösung wäre es so komplex wie das ursprüngliche Annotat, weil es abhängig von den Parametern, die dem Annotat gegeben werden, ziemlich viele unterschiedliche Arten von Dingen gibt. Wenn beispielsweise der Pfeilstil nicht angegeben wird, wird eine YAArow-Patch-Instanz erstellt. Sie können YAArows get_path () aufrufen, aber ein Pfad ist von begrenztem Nutzen, da es mehr oder weniger nur eine Sammlung von Punkten ist. Sie müssten ein "find_middle_of_path ()" schreiben, das berücksichtigen muss, dass Pfade nicht notwendigerweise zusammenhängend sein müssen und dass manchmal alle Attribute des Pfades nicht von Methoden ausgefüllt werden, die es verwenden, usw Ein Beispiel dafür, wenn ein Pfeilpfad nicht zusammenhängend wäre, wäre, wenn die Mitte des Pfeilpfads am Rand der Figur abgeschnitten ist.
Wenn pfeilstil angegeben wird, wird eine FancyArrowPatch-Instanz erstellt. Wenn ein FancyArrowPatch erstellt wird, können Sie get_path_in_displaycoord () aufrufen, um den Pfad mit dem gleichen Vorbehalt wie für den YAArow-Pfad zu erhalten.
IMHO ist es besser, eine Reihe von einfachen Routinen zu erstellen, die zweimal kommentieren, eine für den Pfeil und eine für den Text, die den wahrscheinlich begrenzten Möglichkeiten entsprechen, die Sie wirklich verwenden möchten.
Es gibt eine weitere Option text()
, um beliebigen Text zum Plot an einer bekannten Position hinzuzufügen.
unter diesem Link finden Sie weitere Optionen
Dies ist nicht abhängig von arrowprops
Tags und Links python matplotlib