如何在 Graphviz 中绘制对角线边
How to draw diagonal edges in Graphviz
如何在 Graphviz(点语言)中绘制两个节点之间的对角线。
我想画下面这个形状
我试过了:
graph G {
V[pos="0,0"];
N[pos="40,40!"];
V -- N [label="NSUBJ"]
}
但是它绘制的是正交线。另外我想画多个子图,订单号如上!
可以使用 pos
属性,但在那种情况下,您必须使用 neato
并为每个节点设置 pos
:
graph G {
V [pos = "0,100"]
N [pos = "50,0"]
S [pos = "200,100"]
VPC [pos = "150,0"]
NPC [pos = "250,0"]
V -- N [label="NSUBJ"]
S -- VPC
S -- NPC
}
然后使用以下内容:
neato -n -Tpng -o test.png test.gv
输出如下:
如果使用不可见节点,也可以使线对角线:
graph G {
node [shape=plaintext]
labelloc="b"
pencolor=transparent
subgraph cluster_1 {
label="(1)"
S_1 [label="S"]
VPC_1 [label="VPC"]
NPC_1 [label="NPC"]
V_1 [label="V"]
invis_1 [style=invis]
N_1 [label="N"]
V_1 -- invis_1 [style=invis]
V_1 -- N_1 [label="NSUBJ"]
S_1 -- VPC_1
S_1 -- NPC_1
}
subgraph cluster_2 {
label="(2)"
VPC_2 [label="VPC"]
V_2_2 [label="V"]
NPC_2 [label="NPC"]
V_2 [label="V"]
invis_2 [style=invis]
N_2 [label="N"]
V_2 -- invis_2 [style=invis]
V_2 -- N_2 [label="COPCOMP"]
VPC_2 -- V_2_2
VPC_2 -- NPC_2
}
}
运行 这个命令序列产生以下输出:
ccomps -Cx test.gv | dot | gvpack -array_1 | neato -n2 -Tpng > test.png
如何在 Graphviz(点语言)中绘制两个节点之间的对角线。
我想画下面这个形状
我试过了:
graph G {
V[pos="0,0"];
N[pos="40,40!"];
V -- N [label="NSUBJ"]
}
但是它绘制的是正交线。另外我想画多个子图,订单号如上!
可以使用 pos
属性,但在那种情况下,您必须使用 neato
并为每个节点设置 pos
:
graph G {
V [pos = "0,100"]
N [pos = "50,0"]
S [pos = "200,100"]
VPC [pos = "150,0"]
NPC [pos = "250,0"]
V -- N [label="NSUBJ"]
S -- VPC
S -- NPC
}
然后使用以下内容:
neato -n -Tpng -o test.png test.gv
输出如下:
如果使用不可见节点,也可以使线对角线:
graph G {
node [shape=plaintext]
labelloc="b"
pencolor=transparent
subgraph cluster_1 {
label="(1)"
S_1 [label="S"]
VPC_1 [label="VPC"]
NPC_1 [label="NPC"]
V_1 [label="V"]
invis_1 [style=invis]
N_1 [label="N"]
V_1 -- invis_1 [style=invis]
V_1 -- N_1 [label="NSUBJ"]
S_1 -- VPC_1
S_1 -- NPC_1
}
subgraph cluster_2 {
label="(2)"
VPC_2 [label="VPC"]
V_2_2 [label="V"]
NPC_2 [label="NPC"]
V_2 [label="V"]
invis_2 [style=invis]
N_2 [label="N"]
V_2 -- invis_2 [style=invis]
V_2 -- N_2 [label="COPCOMP"]
VPC_2 -- V_2_2
VPC_2 -- NPC_2
}
}
运行 这个命令序列产生以下输出:
ccomps -Cx test.gv | dot | gvpack -array_1 | neato -n2 -Tpng > test.png