gpt4 book ai didi

grouping - GraphViz 文件中具有相同属性的节点组

转载 作者:行者123 更新时间:2023-12-02 08:04:25 26 4
gpt4 key购买 nike

采用GraphViz语言我想描述一个2模式网络。所以我有两种不同类型的节点。例如,一组可以包含人们的阅读方式,另一组可以包含人们正在阅读的书籍。

我想为这两组中的节点提供不同的外观(形状颜色等)。如何在一个语句中指定一组节点的属性。目的是能够在一个位置更改每组节点的外观,而不是在所有单独的节点描述中。

这可以通过属性继承之类的东西来完成,但我不知道dot语言是否有这个概念。

最佳答案

原则上有三种可能性

  1. 创建节点前设置默认属性
    • 全局 - 对所有以下节点创建有效
    • 在子图中本地 - 仅对子图中的节点创建有效
  2. 创建具有显式属性的节点
  3. 创建后为一组节点分配属性。

选项 1 和 2 只允许每个节点有一个组,因为创建是单个事件。选项 3 允许对每个作业进行不同的分组。

<小时/>

创建节点之前全局设置默认属性

digraph {
x // node with current defaults

// set default
node [shape=box color=red]
// create with default values
a1, a2

// set default
node [shape=circle color=blue]
// create with default values
b1, b2

y // node with current defaults

x->{a1 a2}
a1->{b1 b2}
a2->{b1 b2}
{b1,b2}->y
}

enter image description here

<小时/>

创建节点之前在本地设置默认属性

digraph {
x // node with current defaults

{
// set default
node [shape=box color=red]
// create with default values
a1, a2
}

{
// set default
node [shape=circle color=blue]
// create with default values
b1, b2
}

y // node with current defaults

x->{a1 a2}
a1->{b1 b2}
a2->{b1 b2}
{b1,b2}->y
}

enter image description here

<小时/>

创建具有显式属性的节点

digraph {
x // node with current defaults

// create with explicit attributes
a1, a2 [shape=box color=red]

// create with explicit attributes
b1, b2 [shape=circle color=blue]

y // node with current defaults

x->{a1 a2}
a1->{b1 b2}
a2->{b1 b2}
{b1,b2}->y
}

enter image description here

<小时/>

创建后为一组节点分配属性

digraph {
x // node with current defaults

// create with default values
a1, a2, b1, b2

// assign shape
a1, a2 [shape=box]
b1, b2 [shape=circle]

// assign color
a1, b2 [color=red]
b1, a2 [color=blue]

y // node with current defaults

x->{a1 a2}
a1->{b1 b2}
a2->{b1 b2}
{b1,b2}->y
}

enter image description here

关于grouping - GraphViz 文件中具有相同属性的节点组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28853898/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com