Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python和graphviz标记图形的边_Python_Graphviz_Graph Visualization - Fatal编程技术网

如何使用python和graphviz标记图形的边

如何使用python和graphviz标记图形的边,python,graphviz,graph-visualization,Python,Graphviz,Graph Visualization,如何在使用python和xdot构造的图中标记边 我已经找到了一种使用点语言在python中构造图形的方法 import sys import threading import time import networkx as nx import xdot import gtk class MyClass(threading.Thread): def __init__(self): threading.Thread.__init__(self) s

如何在使用python和xdot构造的图中标记边

我已经找到了一种使用点语言在python中构造图形的方法

import sys
import threading
import time
import networkx as nx 
import xdot 
import gtk

class MyClass(threading.Thread):

    def __init__(self):
        threading.Thread.__init__(self) 
        self.graph = nx.DiGraph(name="my_tree")
        self.xdot = xdot.DotWindow()
        self.xdot.connect('destroy', gtk.main_quit)

    def run(self):
        gtk.main()

    def add_node(self, parent, node):

        self.graph.add_edge(parent, node)
        self.xdot.set_dotcode(nx.to_agraph(self.graph).to_string())
        self.xdot.show_all()

def main(argv=None):

    gtk.gdk.threads_init()
    my_class = MyClass()
    my_class.start()

    my_class.add_node('operating_system', 'file_mgmt')
    time.sleep(1.5)

if __name__ == "__main__":
    sys.exit(main())
上述程序将自动创建一个介于操作系统和文件管理概念之间的图形。这些概念将在省略号中标出

我的问题是使用python语言在该边缘标记标签的“子类”,以便清楚概念之间的关系


是否有任何机制可以这样做

您可以将edge的标签指定为
添加\u edge
的命名参数:

self.graph.add_edge(parent, node, label='subclass')

这样,我想我们每次都可以动态地传递标签,并捕获所有关系,而不仅仅是子类。

请解释一下“标记边缘”的含义好吗?另外,请修复代码格式(编辑问题,选择代码块,然后按ctrl-K;希望这样就足够了)。这就解决了!!那么,是否有可能将其推广,使标签成为一个动态值,不断在概念之间添加新的关系?
 def add_node(self, parent, node,i):

        self.graph.add_edge(parent, node, label = i)
        self.xdot.set_dotcode(nx.to_agraph(self.graph).to_string())
        self.xdot.show_all()