2012-06-04 20 views
44

Zastanawiam się, czy mogę zdefiniować alternatywną czcionkę dla całego wykresu.Graphviz: zmienić czcionkę dla całego wykresu?

... 
digraph script_concept { 
graph [layout="dot",fontname="helvetica"]; 
... 

Według tego 1 starsze opublikować atribute fontName można zdefiniować tylko oddzielnie:

węzłów i krawędzi nie dziedziczą czcionki wykresu, trzeba określić je oddzielnie

Czy istnieje inny sposób definiowania czcionki na całym świecie?

Odpowiedz

65

Nie, nie ma innej drogi.

jak w ty połączonego postu na forum, trzeba określić wartości domyślnych oddzielnie (podobnie jak inne atrybuty) na początku pliku graphviz:

digraph g { 
graph [fontname = "helvetica"]; 
node [fontname = "helvetica"]; 
edge [fontname = "helvetica"]; 
... 
} 
1

Jednak istnieje jeden prosty trik, jeśli ciebie są pomostów żylnych eksportujących:

sed 's/Times,serif/Helvetica/g' thegraph.svg > thegraph_helvetica.svg

połączyć to z Marka i cały horror będą ukryte :) oto przykład Makefile:

all: helvetica 

svg: 
    cat thegraph.dot | dot -Tsvg > thegraph.svg 
helvetica: svg 
    sed 's/Times,serif/Helvetica/g' thegraph.svg > thegraph_helvetica.svg 
+6

Ale to nie wyłoży rzeczy na podstawie rozmiaru renderowanego tekstu – Eric

4

Nie jestem pewien, czy jest to najnowsza aktualizacja, ale możesz je zmienić na poziomie wiersza poleceń przy użyciu flagi atrybutów -G, -E i -N. Oznacza to, że następujące prace dla mnie:

$ dot -Tpng -Nfontname=Roboto -Nfontsize=10 \ 
    -Efontname=Roboto -Efontsize=10 \ 
    tree.dot > tree.png 
Powiązane problemy