Wie Sie herausgefunden haben, lässt graphviz Sie nicht horizontal label Platzierung wählen, so dass alle Lösungen ein wenig hacky sind.
Versuch # 1: Die beiden von marapet geschrieben Lösungen (here)
Die labelangle und labeldistance Trick passen nicht gut auf unterschiedlichen Längen der Beschriftungstext (man müsste neu berechnen neue Distanz-/Winkelnummern).
Die Splines = false Trick nicht so gut funktioniert, wo die Anzahl der Kanten zwischen den Knoten> die Anzahl der Knoten (Sie mit überlappenden Kanten am Ende).
Versuch # 2: xlabels und Anker gekrümmte Kanten
Diese verwendet ein relativ neues Merkmal graphviz zu schaffen, xlabel (die das Etikett nach den Koordinaten für die Knoten legen/Kanten entschieden wurden). Die Funktion ports wird zum Erstellen von Kurven verwendet. Das Auffüllen der Etiketten erfolgt mit Leerzeichen.
digraph {
forcelabels=true;
0:sw -> 1:nw [ dir=forward, xlabel=" (1, 0) "];
0 -> 1 [dir=none];
1:ne -> 0:se [ dir=backward, xlabel= " (0, -1) "];
}
Ich glaube, Sie graphviz Version> 2.29 verwenden xlabel benötigen.
In meiner Version von Punkt (2.40) scheint es nicht mehr möglich zu sein, Leerzeichen zu verwenden, um die Position des Etiketts zu steuern. – Nathaniel
@Nathaniel, falls es hilft, einige fast unsichtbare Zeichen wie den Punkt ('.') oder etwas anderes in der Unicode-Tabelle voranzustellen. Dies könnte dann als ein Zeichen, das die Layout-Engine verwenden wird, einschließlich Ihrer Leerzeichen, verwendet werden: 'xlabel =". Mytext "' oder 'xlabel =" mytext. "'. – xanderiel