一、问题描述:
需要用Pajek软件画网络节点图,节点和边需要根据不同要求显示不同的颜色,并且,节点用自定义的标签标注,边用边的权值或者边的标签标注。
二、Pajek软件的.net文件的数据输入格式:
*Vertices空格节点个数
节点编号(从1开始)空格节点标签(需写在“”中)空格ic空格节点要显示的颜色(注意:颜色单词的首字母要大写,否则无效)
节点编号(2
)
空格
节点标签(需写在“”中)
空格
i
c
空格
节点要显示的颜色(注意:颜色单词的首字母要大写,否则无效)
...
...
...
节点编号(节点个数n)空格节点标签(需写在“”中)空格ic空格节点要显示的颜色(注意:颜色单词的首字母要大写,否则无效)
*Edges(这是对于无向图的边)
这条边的一个顶点(必须是节点编号)空格这条边的另一个顶点(必须是编号)空格这条边的权值空格c空格这条边要显示的颜色(颜色单词的首字母必须大写,否则无效)
这条边的一个顶点(必须是节点编号)空格这条边的另一个顶点(必须是编号)空格这条边的权值空格c空格这条边要显示的颜色(颜色单词的首字母必须大写,否则无效)
...
...
...
这条边的一个顶点(必须是节点编号)空格这条边的另一个顶点(必须是编号)空格这条边的权值空格c空格这条边要显示的颜色(颜色单词的首字母必须大写,否则无效)
三、注意:
(1)如果对一个节点设置了要显示颜色,则,这个节点下面的所有节点如果没有设置要显示的颜色(即:这个节点下面的所有节点的后面都没写ic空格要显示的颜色),那么,都会显示这个节点设置的颜色。
eg:
输入数据格式如下
*Vertices 18 1 "E" 2 "N1" 3 "N10" 4 "N11" 5 "N12" ic Green 6 "N13" 7 "N14" 8 "N15" 9 "N16" 10 "N2" 11 "N3" 12 "N4" 13 "N5" 14 "N6" 15 "N7" ic Black 16 "N8" 17 "N9" 18 "S" ic Yellow *Edges 18 2 3 18 10 1 18 11 1 2 18 3 2 17 4 2 12 1 2 10 1 10 18 1 10 2 1 10 13 1 10 11 1 10 12 2 11 18 1 11 10 1 11 13 2 11 14 2 11 15 1 12 2 1 12 10 2 12 13 1 12 17 1 13 12 1 13 10 1 13 11 2 13 14 1 13 5 3 13 3 1 13 17 3 14 11 2 14 13 1 14 5 2 14 6 4 14 7 3 14 16 2 14 15 1 15 11 1 15 14 1 15 16 1 16 15 1 16 14 2 16 7 1 16 8 3 17 2 4 17 12 1 17 13 3 17 3 1 17 4 1 3 13 1 3 17 1 3 4 1 3 5 2 4 17 1 4 3 1 4 5 1 4 9 1 5 13 3 5 14 2 5 6 2 5 9 1 5 4 1 5 3 2 6 14 4 6 5 2 6 9 2 6 1 1 6 7 1 6 8 2 7 14 3 7 16 1 7 8 1 7 6 1 8 16 3 8 7 1 8 6 2 8 1 4 9 4 1 9 5 1 9 6 2 9 1 1 1 9 1 1 6 1 1 8 4
显示的效果如下
(2)但是,对于边而言,如果要让一条边显示颜色,则,无向图需要把表示这条边的两条正反方向的边都设置颜色,eg:
输入数据格式为
*Vertices 18 1 "E" 2 "N1" 3 "N10" 4 "N11" 5 "N12" ic Green 6 "N13" 7 "N14" 8 "N15" 9 "N16" 10 "N2" 11 "N3" 12 "N4" 13 "N5" 14 "N6" 15 "N7" ic Black 16 "N8" 17 "N9" 18 "S" ic Yellow *Edges 18 2 3 c Black 18 10 1 18 11 1 c Red 2 18 3 2 17 4 2 12 1 2 10 1 10 18 1 10 2 1 10 13 1 10 11 1 10 12 2 11 18 1 c Red 11 10 1 11 13 2 11 14 2 11 15 1 12 2 1 12 10 2 12 13 1 12 17 1 13 12 1 13 10 1 13 11 2 13 14 1 13 5 3 13 3 1 13 17 3 14 11 2 14 13 1 14 5 2 14 6 4 14 7 3 14 16 2 14 15 1 15 11 1 15 14 1 15 16 1 16 15 1 16 14 2 16 7 1 16 8 3 17 2 4 17 12 1 17 13 3 17 3 1 17 4 1 3 13 1 3 17 1 3 4 1 3 5 2 4 17 1 4 3 1 4 5 1 4 9 1 5 13 3 5 14 2 5 6 2 5 9 1 5 4 1 5 3 2 6 14 4 6 5 2 6 9 2 6 1 1 6 7 1 6 8 2 7 14 3 7 16 1 7 8 1 7 6 1 8 16 3 8 7 1 8 6 2 8 1 4 9 4 1 9 5 1 9 6 2 9 1 1 1 9 1 1 6 1 1 8 4
显示的效果如下
(3)从Excel中把数据导出成.txt时,是以Unicode编码存储的,需要改成UTF-8编码,才能被Pajek软件识别。
四、给一个完整的例子
输入数据:
*Vertices 18 1 "E" ic Yellow 2 "N1" ic CornflowerBlue 3 "N10" ic CornflowerBlue 4 "N11" ic CornflowerBlue 5 "N12" ic Green 6 "N13" ic Black 7 "N14" ic Black 8 "N15" ic CornflowerBlue 9 "N16" ic CornflowerBlue 10 "N2" ic Black 11 "N3" ic CornflowerBlue 12 "N4" ic Black 13 "N5" ic Black 14 "N6" ic Black 15 "N7" ic Green 16 "N8" ic Black 17 "N9" ic CornflowerBlue 18 "S" ic Yellow *Edges 18 2 3 18 10 1 c Black 18 11 1 2 18 3 2 17 4 2 12 1 2 10 1 10 18 1 c Black 10 2 1 10 13 1 10 11 1 10 12 2 c Green 11 18 1 11 10 1 11 13 2 11 14 2 11 15 1 12 2 1 12 10 2 c Green 12 13 1 c Black 12 17 1 13 12 1 c Black 13 10 1 13 11 2 13 14 1 13 5 3 c Black 13 3 1 13 17 3 14 11 2 14 13 1 14 5 2 c Black 14 6 4 14 7 3 14 16 2 14 15 1 c Black 15 11 1 15 14 1 c Black 15 16 1 c Black 16 15 1 c Black 16 14 2 16 7 1 c Black 16 8 3 17 2 4 17 12 1 17 13 3 17 3 1 17 4 1 3 13 1 3 17 1 3 4 1 3 5 2 4 17 1 4 3 1 4 5 1 c Red 4 9 1 5 13 3 c Black 5 14 2 c Black 5 6 2 5 9 1 5 4 1 c Red 5 3 2 6 14 4 6 5 2 6 9 2 6 1 1 c Black 6 7 1 c Green 6 8 2 7 14 3 7 16 1 c Black 7 8 1 7 6 1 c Green 8 16 3 8 7 1 8 6 2 8 1 4 9 4 1 9 5 1 9 6 2 9 1 1 1 9 1 1 6 1 c Black 1 8 4
输出的图像:
转载请注明原文地址: https://www.6miu.com/read-27469.html