如何使用 Graphviz 绘制三个正方形,一个在另一个里面
How to draw three squares, one inside another, with Graphviz
我正在使用 Linux 的点语言中的 Graphviz 工具。我想画三个正方形,一个在另一个里面。以下代码不正确:
graph A
{ label="a";
subgraph cluster_A
{
b [shape=box,label="b"];
subgraph cluster_b
{
c[label="c",shape=box];
}
}
}
你有多种可能性来做到这一点
- 簇中簇中的box节点
- 簇中簇中的明文节点
- 具有 HTML like label 和 HTML 个表的节点
簇中的框:
graph "graph A"
{
label="\G"
subgraph "cluster A"
{
subgraph "cluster B"
{
c[shape=box];
}
}
}
簇中的明文:
graph "graph A"
{
label="\G"
subgraph "cluster A"
{
subgraph "cluster B"
{
subgraph "cluster C"
{
d[shape=none];
}
}
}
}
两种变体都将标签设置为它们的名称,这是节点的默认设置,但不是图(以及所有包含的子图)的默认设置。由于图表标签是继承的,您可以手动设置所有标签或像我一样使用名称 palceholder。
HTML 喜欢标签
graph "graph A"
{
label="\G"
a [shape=none label=<<table><tr><td><table><tr><td><table><tr><td>node a</td></tr></table></td></tr></table></td></tr></table>>];
}
您在格式(边距、填充、边框等)方面有更多的自由度
我正在使用 Linux 的点语言中的 Graphviz 工具。我想画三个正方形,一个在另一个里面。以下代码不正确:
graph A
{ label="a";
subgraph cluster_A
{
b [shape=box,label="b"];
subgraph cluster_b
{
c[label="c",shape=box];
}
}
}
你有多种可能性来做到这一点
- 簇中簇中的box节点
- 簇中簇中的明文节点
- 具有 HTML like label 和 HTML 个表的节点
簇中的框:
graph "graph A"
{
label="\G"
subgraph "cluster A"
{
subgraph "cluster B"
{
c[shape=box];
}
}
}
簇中的明文:
graph "graph A"
{
label="\G"
subgraph "cluster A"
{
subgraph "cluster B"
{
subgraph "cluster C"
{
d[shape=none];
}
}
}
}
两种变体都将标签设置为它们的名称,这是节点的默认设置,但不是图(以及所有包含的子图)的默认设置。由于图表标签是继承的,您可以手动设置所有标签或像我一样使用名称 palceholder。
HTML 喜欢标签
graph "graph A"
{
label="\G"
a [shape=none label=<<table><tr><td><table><tr><td><table><tr><td>node a</td></tr></table></td></tr></table></td></tr></table>>];
}
您在格式(边距、填充、边框等)方面有更多的自由度