2010-02-28 18 views
30

Domyślnie w Graphviz etykiety krawędzi są umieszczane tuż po prawej stronie krawędzi. Szukam sposobu na umieszczenie etykiet ponad krawędzią, wyśrodkowaną na krawędzi. (Będzie nadal czytelny, ponieważ zmieniam kolor krawędzi).Jak umieszczać etykiety krawędzi ON na grafviz

Wszelkie pomysły?

Odpowiedz

16

Jeśli to był nagłówek lub etykieta, możesz spróbować ustawić labeldistance na zero, aby wymusić narysowanie etykiety na krawędzi, ale jak rozumiem, masz na myśli etykietę krawędzi (tę na środku krawędzi) . Dokumentacja dość wyraźnie stwierdza, że ​​labeldistance wpływa tylko na etykiety na przedzie i etykiety na piętach, ale możesz spróbować szczęścia.

Jeszcze jedną rzeczą, którą warto wypróbować, jest utworzenie przezroczystego węzła pośredniego z etykietą. Może wyglądać tak, jak chcesz ... Ale jeśli będziesz polegać na algorytmie umieszczania węzłów, tworzenie tych "sztucznych" węzłów może być niedopuszczalne. W takim przypadku zachęcam do dołączenia do deweloperów Graphviz i dodania potrzebnej funkcji;) Poważnie, jest to bardzo satysfakcjonujące.

Jeśli znajdziesz inne rozwiązanie, opublikuj go. W najbliższej przyszłości będę miał podobny problem.

+0

Tak, wygląda na to w tej chwili. Rozważę przyczynienie się do grafviz, ale tak jak Ty, mój problem nie będzie stanowić problemu w ciągu kolejnych kilku miesięcy. – naught101

5

Należy rozważyć dodanie kilku pustych miejsc po etykiecie. W ten sposób unikasz nakładania się ze strzałką krawędziową, ponieważ etykiety graphviz są wyrównane do prawej. To nie jest eleganckie rozwiązanie i chciałbym zobaczyć prawidłowe wyrównanie etykiet, ale może to rozwiązać Twój problem.

Powiązane problemy