StupidBeauty
Read times:810Posted at:Thu Mar 4 03:48:03 2010 - no title specified

graphviz,将标签写到点的外面

在离散数学中,表示有向图的时候是用一个点来表示图中的节点的,这样的话,要画出这样的点,就要在dot语句中将节点(node)的形状(shape)设为“point”,就是:

node [ shape = point ]

这样的话,画出来的图中,节点就是一个点了。但是这样的话,画出来的节点的标签(label)实际上就不起作用了,因为标签是会在节点所占据区域的内部的,由于节点现在没有面积了,只是一个点,所以节点的标签显示不出来了,看下面的代码画出来的图:

digraph ADirectedGraph

{

node [ shape = point ]

a -> b ;

a -> d ;

b -> b ;

b -> d ;

c -> a ;

c -> b ;

d -> b ;

}

最后呢,还是找到解决方法了,一个专家说,无法通过直接设置节点的各种属性的方法来解决这个问题,而要用另外一个方法来绕过去,方法就是画一个透明的指向自己的边,并且在边上加标签,这样就能看到节点旁边有一个标签了,从视觉上来看就可以认为这个标签是表示该节点的了。 看下面的代码:

digraph ADirectedGraph

{

node [ shape = point ]

a -> b ;

a -> d ;

b -> b ;

b -> d ;

c -> a ;

c -> b ;

d -> b ;

  //做一些标签来表示点:

a -> a [ taillabel = "a" color = "transparent" ];

b -> b [ taillabel = "b" color = "transparent" labeldistance = "2.3" ];

c -> c [ taillabel = "c" color = "transparent" ];

d -> d [ headlabel = "d" color = "transparent" labeldistance = "0.3" ];

}

代码里面的“taillabel”“headlabel”“labeldistance”是用来调节标签的位置的,具体地可以看相关的文档。 参考这里的一个帖子:https://mailman.research.att.com/pipermail/graphviz-interest/2004q4/001774.html

啊啊,还是那句话,为什么就没能找到关于这个问题的中文的说明呢?

未知美人

Your opinions

Posted at:Thu Mar 4 12:53:08 2010ggarlic因为中文的人都去打酱油了 说正经的:我用graphviz的时候也碰到过这个问题,我当时需要的是个图片而已,所以。。。截图,放入gimp中自己添加字母
Posted at:Fri Mar 5 01:23:38 2010太极美术工程师师长实在是高。因为中文的人都去打酱油了 说正经的:我用graphviz的时候也碰到过这个问题,我当时需要的是个图片而已,所以。。。截图,放入gimp中自己添加字母
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands

 
Recent comments
2017年4月~2019年4月垃圾短信排行榜Posted at:Thu Sep 26 04:51:48 2024
Qt5.7文档翻译:QWebEngineCookieStore类,QWebEngineCookieStore ClassPosted at:Fri Aug 11 06:50:35 2023盲盒kill -9 18289 Grebe.20230517.211749.552.mp4