web-dev-qa-db-ja.com

Graphviz:グラフ全体のフォントを変更しますか?

グラフ全体に代替フォントを定義できるかどうか疑問に思っています。

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

これによると 1 古い投稿では、フォント名の属性は個別にのみ定義できます:

ノードとエッジはグラフのフォントを継承しないため、個別に指定する必要があります

フォントをグローバルに定義する方法はありますか?

60
pirkil

いいえ、他の方法はありません。

リンクしたフォーラムの投稿のように、graphvizファイルの先頭でデフォルト値を(他の属性と同様に)個別に定義する必要があります。

digraph g {
 graph [fontname = "helvetica"];
 node [fontname = "helvetica"];
 Edge [fontname = "helvetica"];
 ...
}
88
marapet

これが最近の更新であるかどうかはわかりませんが、-G-Eおよび-N属性フラグ。つまり、次のように動作します。

$ dot -Tpng -Nfontname=Roboto -Nfontsize=10 \
    -Efontname=Roboto -Efontsize=10 \
    tree.dot > tree.png
11
JJ Geewax

ただし、svgをエクスポートする場合、簡単なトリックが1つあります。

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

これをMakeと組み合わせると、すべての恐怖が隠されます:) Makefileの例を次に示します。

all: helvetica

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