我正在尝试使用Graphviz绘制图表。
我希望在一组顶点周围绘制一条虚线,表示它们是一个更大实体的一部分。
比如说,如果我有三个顶点,如鸡蛋,鸡肉和火腿,我应该可以在它们的三个顶点画一条虚线,并将边框标记为食物。
答案 0 :(得分:71)
可以将graphviz中的节点放入 cluster 中进行分组。集群是一种特殊的子图,某些布局引擎(dot,fdp,...)支持,如果支持,集群中的节点将被绘制在一起。
来自文档:
如果子图的名称以 cluster 开头,Graphviz会注意到 子图作为特殊的集群子图。如果支持,则布局 引擎将进行布局,以便属于集群的节点 被绘制在一起,包含集群的整个绘图 在一个边界矩形内。
请注意,无论好坏,群集 子图是不是 DOT语言的一部分,但仅仅是一种语法 某些布局引擎遵守惯例。
重要提示:子图的ID必须以cluster
开头。
示例:
graph g{
subgraph cluster_food {
eggs; chicken; ham;
label="Food";
graph[style=dotted];
}
}