【发布时间】:2020-06-16 01:08:02
【问题描述】:
我想像这张图片一样画一个干净的网络图。
但我找不到如何做到这一点。我必须使用 css 来删除部分单元格边框线,但是,据我所知,点文件不支持 css。我想插入椭圆形节点,用竖线分隔节点, 如何绘制满足这些条件的图形?我的点文件有自循环,所以我不能使用 networkx。还有其他方法吗?或者我可以解决使用点文件吗?
我的点文件代码是
digraph {
// size = "6,8.5";
// ratio = "fill";
// layout = "circo"
forcelabels = True;
graph[overlap=False];
node [shape = ellipse];
node [fontsize = 10];
// node [penwidth = 3];
edge [fontsize = 10];
// A [pos = "0,2"]
// B [pos = "-2,-2"]
// C [pos = "0,1"]
// D [pos = "2,-2"]
// E [pos = "0,-3"]
A
B
C
D
E;
node[shape = point];
x1[style = invis]
{rank=same; A,C}
{rank=same; B,E}
A -> C [label = "4|1.0\l"];
B -> B [label = "1|:0.979\l"];
C:nw -> C:ne [label = "3|0.167\l"];
C -> D [label = "5|0.115\l"];
D:nw -> C:sw [xlabel = "3|0.103\l4|0:0.315\l"];
D:se -> x1 [dir = none]
x1 -> D:sw [xlabel = "5|0.308\l6|0:0.253\l"];
E -> B [label = "4|0.5\l"];
E -> D [label = "6|0.5\l"];
}
【问题讨论】:
-
欢迎。请以点文件的形式显示您已有的内容。
-
@albert 感谢您提供编辑问题和建议!
-
请注意,您的点文件中有一些语法错误(至少据我所知)。排名应该是这样的:` {rank=same; A;C}` ` {rank=same; B;E`
-
当我理解正确的问题时,您希望能够:1)绘制垂直线 2)将标签放在垂直线的左侧 3)将一些其他信息放在右侧垂直线
-
0.115\l(edge CD) 是什么意思> 你是说0.115\\l吗?