如何更改graphviz的默认字体大小?
问题描述:
我使用doxygen + graphviz来记录我的代码。 graphviz在生成图像方面做得很好。如何更改graphviz的默认字体大小?
有没有办法改变graphviz的默认字体大小?默认值是14,但我想用12代替。
它是一个真正的痛苦来改变字体大小个别元素,例如,节点,子图,边......等
UPDATE:
仅供参考这里是我使用的doxygen中的代码, (当然,文本字段已被重命名)
@dot
strict digraph {
node [shape = box, fontsize = 12];
subgraph cluster_main {
fontsize = 12;
shape = box;
label = "main";
subgraph cluster_main_common {
fontsize = 12;
shape = box;
label = "common";
subgraph cluster_main_common_source {
fontsize = 12;
shape = box;
label = "source"
subgraph cluster_file1 {
fontsize = 12;
shape = box;
label = "file1.c";
gSystem [label = "var1" URL = "\ref var1"];
}
subgraph cluster_file2 {
fontsize = 12;
shape = box;
label = "file2.c";
gCard [label = "var2" URL = "\ref var2"];
}
subgraph cluster_file3 {
fontsize = 12;
shape = box;
label = "file3.c";
gPwrSupply [label = "var3" URL = "\ref var3"];
}
}
}
subgraph cluster_main_docs {
fontsize = 12;
shape = box;
label = "docs";
subgraph cluster_main_docs_features {
fontsize = 12;
shape = box;
label = "features";
subgraph cluster_main_docs_features_source {
fontsize = 12;
shape = box;
label = "source"
subgraph cluster_file4 {
fontsize = 12;
shape = box;
label = "file4.c";
deviceInfo [label = "var4" URL = "\ref var4"];
}
}
}
}
}
}
@enddot
答
Fontsize是一个图属性(以及边和节点属性)。 Doxygen生成一个点文件,例如:
strict digraph {
graph [ bgcolor=lightgray, resolution=128, fontname=Arial, fontcolor=blue,
fontsize=12 ];
node [ fontname=Arial, fontcolor=blue, fontsize=11];
edge [ fontname=Helvetica, fontcolor=red, fontsize=10 ];
}
具体的设置将覆盖通用的设置;因此将fontsize设置为节点属性将覆盖字体大小设置为图形属性(仅适用于节点),并且为特定节点设置字体大小将覆盖为所有节点设置的字体大小。
如果您尝试了上面的内容,但似乎无法正常工作,请更改字体大小,搜索您的整个点文件以查找“字体大小”设置,将其删除,然后将字体大小重新设置为节点属性。
这里是完整的graphviz attribute list。
我试过这个,但它不适合我。 :( – chronodekar 2009-12-31 03:18:43
自从我研究这个以来已经有一段时间了,我认为我最终放弃了。但是,你的更新看起来可行,而且缺少更好的东西,我将其标记为答案 – chronodekar 2010-02-25 05:39:13
尝试将双引号括起来字体名称?这对我有效 – 2013-02-21 15:54:44