Esempio n. 1
0
def draw_graph(adjacency, name):
    g = Graph('G', filename=name)
    for node in adjacency:
        for Fout in adjacency[node]:
            #print str(node) + " " + str(Fout)
            g.edge(str(node), str(Fout))
    g.view()
Esempio n. 2
0
    def draw_graph(self):
        """ Draw the Token Flow Graph.
        """
        assert Graph is not None, "Could not import the package `graphviz'"

        tfg = Graph('TFG')

        # Draw nodes
        tfg.attr('node', shape='circle', fixedsize='True')
        for node in self.nodes.values():
            tfg.node(node.id)

        # Draw redundant arcs
        tfg.attr('edge', arrowhead='dotnormal', arrowtail='none')
        for node in self.nodes.values():
            for redundant in node.redundant:
                tfg.edge(node.id, redundant.id, dir='both')

        # Draw agglomerated arcs
        tfg.attr('edge', arrowhead='normal', arrowtail='odot')
        for node in self.nodes.values():
            for agglomerated in node.agglomerated:
                tfg.edge(node.id, agglomerated.id, dir='both')

        tfg.view()
Esempio n. 3
0
def Drawnet_notag(opt_name,
                  tn_names,
                  edges_info,
                  dangling_infos,
                  figsize=[6, 5],
                  engine='circo',
                  format="pdf"):
    ## edges_info[i] = (tn1_name,tn2_name,common_label)

    g = Graph(opt_name,
              filename=opt_name + ".gv",
              engine=engine,
              format=format)
    #g = Graph(engine=engine,format=format)
    g.attr(size='%d,%d' % (figsize[0], figsize[1]))
    ## insert node!
    g.attr('node', shape='circle')
    for i in tn_names:
        g.node(i)

    g.attr('node', shape='plaintext')
    for i in dangling_infos:
        g.node(i[0])
    #print(edges_info)
    ## edges! contracted:
    for i in edges_info:
        g.edge(i[0], i[1], label="%d" % (i[2]))

    ## edges! non-contracted:
    for i in dangling_infos:
        g.edge(i[0], i[1])

    g.view()
    def draw(self, filename='test.gv'):
        """
        Отрисовывает граф используя библиотеку Graphviz. Больше примеров:
        https://graphviz.readthedocs.io/en/stable/examples.html
        """
        g = Graph('G', filename=filename, engine='sfdp')

        for v, attr in enumerate(self.attributes):
            if 'color' in '':
                g.attr('node', style='filled', fillcolor=attr['color'])
                if attr['color'] == 'black':
                    g.attr('node', fontcolor='white')
            else:
                g.attr('node', style='', color='', fontcolor='', fillcolor='')

            if 'name' in '':
                g.node(str(v), label='{} ({})'.format(attr['name'], v))
            else:
                g.node(str(v))

        for i in range(self.number_of_vertices()):
            for j in self.adj[i]:
                if i < j:
                    g.edge(str(i), str(j))

        g.view()
Esempio n. 5
0
class render:

	def __init__(self,our_graph,wt_dist,colour_list,tup=[-1,-1]):
		self.G = Graph(format='png')
		self.edgeList = []
		#i=0

		
		for vertex in our_graph.vertList:
			self.G.node(str(vertex),label='INF' if wt_dist[vertex]==10000000 else str(wt_dist[vertex]),color='red' if colour_list[vertex] else 'black')
			for adjvertices in our_graph.vertList[vertex].connectedTo:
				if tup==[vertex,adjvertices] or tup==[adjvertices,vertex]: 
					cl='green'  
				else: 
					cl='black'

				#print vertex.connectedTo[adjvertices] 
				if our_graph.vertList[vertex].connectedTo[adjvertices][1] in self.edgeList:
					pass
				else:
					self.G.edge(str(vertex),str(adjvertices),str(our_graph.vertList[vertex].connectedTo[adjvertices][0]),color=cl)
					self.edgeList.append(our_graph.vertList[vertex].connectedTo[adjvertices][1])
			#self.G.edge(str(vertex),str((vertex+1)%10),label='edge',color='green')


		self.G.view()
    def get_topologie_data(self):
        node_data = {}
        for node in self.nodes:
            node_data[str(node.id)] = {
                "neighbors": node.neighbors
            }

        from graphviz import Graph
        graph = Graph("PLC-Topologie", filename="topologie.gv")
        # graph.edge(str(Node.id), str(alt_id))
        tmp = []
        del_list = []
        for node in self.nodes:
            for neighbor in node.neighbors:
                if str(node.id) == neighbor:
                    del_list.append(node.id)
                elif str(node.id) + ":" + str(neighbor) not in tmp and str(neighbor) + ":" + str(node.id) not in tmp:
                    tmp.append(str(node.id) + ":" + str(neighbor))
                    graph.edge(str(node.id), str(neighbor))

        for node in self.nodes:
            if node.id in del_list:
                del node.neighbors[str(node.id)]
        graph.view()

        return node_data
Esempio n. 7
0
def draw_graph():

    g = Graph(format='svg', engine='dot', graph_attr={'splines': 'false'})
    g.body.extend(['rankdir=LR'])
    g.node('STUDENT', shape='rectangle', style='filled', fillcolor='red')
    g.node('Name', shape='ellipse')
    g.node('address', shape='ellipse')
    g.node('Roll Number', shape='ellipse')

    g.edge('STUDENT', 'Name')
    g.edge('STUDENT', 'address')
    g.edge('STUDENT', 'Roll Number')

    g.node('COURSE', shape='rectangle', style='filled', fillcolor='red')
    g.node('Title', shape='ellipse')
    g.node('Level', shape='ellipse')
    g.node('Credits', shape='ellipse')
    g.node('Course_Id', shape='ellipse')

    g.edge('COURSE', 'Title')
    g.edge('COURSE', 'Level')
    g.edge('COURSE', 'Credits')
    g.edge('COURSE', 'Course_Id')

    g.node('TAKES', shape='diamond', style='filled', fillcolor='green')
    g.edge('STUDENT', 'TAKES:w')
    g.edge('COURSE', 'TAKES:e')

    #g.render('example.svg')

    g.view()
Esempio n. 8
0
def main():
    start_time = time.time()
    graph_attri = {'overlap': 'false', 'spines': 'ortho', 'nodesep': '0.5'}
    node_attri = {'shape': 'circle', 'color': 'green'}
    dot = Graph('G',
                filename='test.gv',
                engine='neato',
                node_attr=node_attri,
                graph_attr=graph_attri)

    subreddits = [
        'liberal', 'democrats', 'politics', 'democraticparty',
        'BlueMidterm2018'
    ]

    conns = group_connectivity(subreddits, 100)

    for i in range(0, 5):
        dot.node(subreddits[i])
    for j in range(0, 5):
        for k in range(j, 5):
            if k == j:
                pass
            else:
                dot.edge(subreddits[j],
                         subreddits[k],
                         label=str(
                             connectivity(subreddits[j], subreddits[k],
                                          conns)))

    print("---- %s seconds ----" % (time.time() - start_time))
    dot.view()
Esempio n. 9
0
def main():
    SIZE = 20
    PLOIDY = 2
    MUTATIONS = 2

    indices = range(SIZE)
    # Build fake data
    seqA = list("0" * SIZE)
    allseqs = [seqA[:] for x in range(PLOIDY)]  # Hexaploid
    for s in allseqs:
        for i in [choice(indices) for x in range(MUTATIONS)]:
            s[i] = "1"

    allseqs = [make_sequence(s, name=name) for (s, name) in \
                zip(allseqs, [str(x) for x in range(PLOIDY)])]

    # Build graph structure
    G = Graph("Assembly graph", filename="graph")
    G.attr(rankdir="LR", fontname="Helvetica", splines="true")
    G.attr(ranksep=".2", nodesep="0.02")
    G.attr('node', shape='point')
    G.attr('edge', dir='none', penwidth='4')

    colorset = get_map('Set2', 'qualitative', 8).mpl_colors
    colorset = [to_hex(x) for x in colorset]
    colors = sample(colorset, PLOIDY)
    for s, color in zip(allseqs, colors):
        sequence_to_graph(G, s, color=color)
    zip_sequences(G, allseqs)

    # Output graph
    G.view()
Esempio n. 10
0
def plot(overlapping_policies):
    g = Graph("G", filename="Overlapping_policies", engine="sfdp")
    for key in overlapping_policies.keys():
        for value in overlapping_policies[key]:
            g.edge(key, value)
            overlapping_policies[value].remove(key)
    g.view()
Esempio n. 11
0
def init_graph():
    dot = Graph(comment='Topology')
    dot.node('A')
    dot.node('B')
    dot.node('C')
    dot.node('D')
    dot.node('E')
    dot.node('F')
    dot.node('G')
    dot.node('H')
    dot.node('I')

    dot.edge('A', 'B', label='2')
    dot.edge('A', 'D', label='5')
    dot.edge('B', 'C', label='7')
    dot.edge('B', 'E', label='1')
    dot.edge('C', 'F', label='9')
    dot.edge('D', 'E', label='3')
    dot.edge('D', 'G', label='3')
    dot.edge('E', 'H', label='30')
    dot.edge('E', 'F', label='2')
    dot.edge('H', 'G', label='5')
    dot.edge('H', 'I', label='8')
    dot.edge('F', 'I', label='6')

    dot.view()
Esempio n. 12
0
def BFSGetDist(self,v0=0): #搜索无权图其他点到 v0 的最短路径
Q = Queue()
v = v0
path = [[v] for i in range(self.vexnum)]
self.visited[v] = True
Q.enqueue(v)
while not Q.empty():
v = Q.dequeue()
for w in self.arc[v]:
if self.visited[w] == False:
self.visited[w] = True
path[w] = path[v] + [w]
Q.enqueue(w)
for v in range(self.vexnum):
if v != v0:
print(len(path[v]) - 1,end=' ')
print("->".join(str(i) for i in path[v]))
vg = Graph('图及其应用')
with open('case1.txt') as case:
n = int(case.readline()) #n 表示图中的顶点数
for i in range(n):
vg.node(name=str(i),color='red')
vexs = [str(i) for i in range(n)]
matrix = [[0] * n for i in range(n)]
edges = case.readlines()
arcnum = len(edges)
for edge in edges:
v1,v2 = map(int, edge.split())
matrix[v1][v2] = 1
matrix[v2][v1] = 1 #无向图
vg.edge(str(v1),str(v2),color='blue') g = MGraph(vexs,matrix,arcnum)
alg = ALGraph(vexs,matrix,arcnum)
g.findArticul()
alg.BFSGetDist(0)
vg.view()
Esempio n. 13
0
 def color(self):
     # Dict to save color
     color = defaultdict(list)
     
     for node in self.graph:
         if (len(color) == 0):
             color[0].append(node)
             continue
         else:
             for i in range(len(color)):
                 temp = 0
                 for colored_node in color[i]:
                     if (node in self.graph[colored_node]):
                         temp = 1
                         break
                 if (temp == 1):
                     continue
                 else:
                     color[i].append(node)
                     break
             if (node not in color[i]):
                 color[len(color)].append(node)    
     # Out put file
     output_file = Graph('Coloring graph', filename='Greedy Coloring Graph.gv',strict="True")
     output_file.attr( shape="circle", size='1')
     list_color=["red","blue", "yellow","green","gray","snow","DarkOrange1","MediumPurple1","khaki4","orchid", "cyan2", "blue violet", "GreenYellow", 
     "HotPink", "LightGoldenrod4","DarkSeaGreen", "sienna","brown"]
     for i in range (len(color)):
         for node in color[i]:
             output_file.node(str(node),fillcolor=list_color[i],style="filled")
             for opp_node in self.graph[node]:
                 output_file.edge(str(node),str(opp_node))
     output_file.view()  
def graphs(file,deleted_node):#methodos gia to proairetiko meros
    from graphviz import Graph
    dot = Graph(node_attr={'color': 'lightblue2', 'style': 'filled'},format='jpg',engine='fdp')
    visited={}
    adjList=create_graph(file)
    deleted=False
    for x in adjList:
        visited[x]=False
    for key in adjList:
        for erased in deleted_node:
            if key==erased:
                dot.node(str(key),str(key),color='lightgrey')
                deleted=True
        if not deleted:
            dot.node(str(key),str(key))
        deleted=False
        for i in adjList[key]:
            if not visited[i]:
                for erased in deleted_node:#elegxei an exoun diagraftei oi komvoi i kai key
                    if erased==i or erased==key:
                        deleted=True
                if not deleted:#den exoun diagraftei ara tous enono
                    dot.edge(str(key),str(i))
                deleted=False
            visited[key]=True
    dot.view()
Esempio n. 15
0
    def create_ref_mmap(self, strx):
        mm = Graph(
            name=f'mind_map{strx.id}',
            filename=f'media/mind_maps/mind_map{strx.id}.gv',
            strict=True,
            engine='fdp'
        )
        # print(f'\nTitle {strx.get("title", "A")}')
        # other_nodes(mm, strx)
        cites = strx.page
        mlist = cites.split('DOI ')
        mnew_list = []
        for x in mlist:
            # print(x)
            # print('--')
            x = x[:x.find(" ")]
            xt = x[:x.find(":")]
            # xy = xt[:xt.find("::")]
            mnew_list.append(xt)

        for k in mnew_list:
            gri = strx.DOI if strx.DOI else strx.title
            gri = gri[:gri.find(":")]
            mm.edge(gri, k)
            # print(f'- {k}')

        # print('\n')
        mm.view()
Esempio n. 16
0
def draw_graph(graph, edges):
    g = Graph()
    for node in graph.get_nodes():
        g.node(node)
    for edge in edges:
        g.edge(edge[0], edge[1], minlen='2')
    g.view("./grafiPDF/grafo")
Esempio n. 17
0
def visaoSemantica(no):
    
    if(no):
        grafico = Graph('G', filename='Tree.gv', strict=True)
        desenhagrafico(no, grafico)
        grafico.node_attr.update(color='lightblue2', style='filled')
        grafico.view()
Esempio n. 18
0
def gen_graph_from_nodes(nodes, type_fail=None):
    graph = Graph(format='png', strict=True)
    graph.node_attr['fontname'] = 'Courier New'
    graph.edge_attr['fontname'] = 'Courier New'
    for node in nodes:
        graph.node(
            _type_str(node.type),
            '{type: %s|ast_node: %s|parent\'s type: %s}' %
            (_type_str(node.type), node.ast_node.as_string().replace(
                '<', '\\<').replace('>', '\\>') if node.ast_node else 'None',
             _type_str(node.parent.type) if node.parent else 'NA'),
            shape='record',
            style='rounded')
        for neighb, ctx_node in node.adj_list:
            graph.edge(_type_str(node.type),
                       _type_str(neighb.type),
                       label=(f' {ctx_node.as_string()}' if ctx_node else ''))
    if type_fail:
        graph.node('tf',
                   '{TypeFail|src_node: %s}' %
                   (type_fail.src_node.as_string().replace('<', '\\<').replace(
                       '>', '\\>') if type_fail.src_node else 'None'),
                   shape='record')
        graph.edge('tf', _type_str(type_fail.tnode1.type), style='dashed')
        graph.edge('tf', _type_str(type_fail.tnode2.type), style='dashed')
    graph.view('tnode_graph')
Esempio n. 19
0
def main():
    SIZE = 20
    PLOIDY = 2
    MUTATIONS = 2

    indices = range(SIZE)
    # Build fake data
    seqA = list("0" * SIZE)
    allseqs = [seqA[:] for x in range(PLOIDY)]  # Hexaploid
    for s in allseqs:
        for i in [choice(indices) for x in range(MUTATIONS)]:
            s[i] = "1"

    allseqs = [make_sequence(s, name=name) for (s, name) in \
                zip(allseqs, [str(x) for x in range(PLOIDY)])]

    # Build graph structure
    G = Graph("Assembly graph", filename="graph")
    G.attr(rankdir="LR", fontname="Arial", splines="true")
    G.attr(ranksep=".2", nodesep="0.02")
    G.attr('node', shape='point')
    G.attr('edge', dir='none', penwidth='4')

    colorset = get_map('Set2', 'qualitative', 8).mpl_colors
    colorset = [to_hex(x) for x in colorset]
    colors = sample(colorset, PLOIDY)
    for s, color in zip(allseqs, colors):
        sequence_to_graph(G, s, color=color)
    zip_sequences(G, allseqs)

    # Output graph
    G.view()
Esempio n. 20
0
def draw_expr(expr, title="Standard Expression"):
    from graphviz import Graph
    graph = Graph(title, filename=title)
    graph.attr(rankdir="TD", size="50")
    typeMapper = {
        OPType.Star: "*",
        OPType.Plus: "+",
        OPType.Concat: "@",
        OPType.Union: "|",
        OPType.Symbol: "S",
        OPType.Questionmark: "?"
    }
    counter = 0

    def inner(expr):
        nonlocal counter
        label_ = ""
        color_ = "red"
        if expr.isSymbol():
            label_ = expr.getSymbol()
            color_ = "blue"
        else:
            label_ = typeMapper[expr.opType]
        graph.node(str(counter), shape="circle", label=label_, color=color_)
        expr.name = str(counter)  # Monkey patching !!
        counter += 1
        if expr.lhs != None:
            inner(expr.lhs)
            graph.edge(expr.name, expr.lhs.name)
        if expr.rhs != None:
            inner(expr.rhs)
            graph.edge(expr.name, expr.rhs.name)

    inner(expr)
    graph.view()
Esempio n. 21
0
def geraArvoreGraph(no, Erros, bol):
    if(bol):
        if not Erros :
            printArvore(no)
            if(no) :
                grafico = Graph('G', filename='Tree.gv', strict=True)
                desenhagrafico(no, grafico)
                grafico.node_attr.update(color='lightblue2', style='filled')
                grafico.view()
Esempio n. 22
0
def gen_graph(arr):
    dot = Graph(comment='Topology')

    if 0 in arr:
        dot.node('A', color="red")
    else:
        dot.node('A')
    if 1 in arr:
        dot.node('B', color="red")
    else:
        dot.node('B')
    if 2 in arr:
        dot.node('C', color="red")
    else:
        dot.node('C')
    if 3 in arr:
        dot.node('D', color="red")
    else:
        dot.node('D')
    if 4 in arr:
        dot.node('E', color="red")
    else:
        dot.node('E')
    if 5 in arr:
        dot.node('F', color="red")
    else:
        dot.node('F')
    if 6 in arr:
        dot.node('G', color="red")
    else:
        dot.node('G')
    if 7 in arr:
        dot.node('H', color="red")
    else:
        dot.node('H')
    if 8 in arr:
        dot.node('I', color="red")
    else:
        dot.node('I')
    convert = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']

    for i in range(len(arr) - 1):
        dot.edge(convert[arr[i]], convert[arr[i + 1]], color="red")
    dot.edge('A', 'B', label='2')
    dot.edge('A', 'D', label='5')
    dot.edge('B', 'C', label='7')
    dot.edge('B', 'E', label='1')
    dot.edge('C', 'F', label='9')
    dot.edge('D', 'E', label='3')
    dot.edge('D', 'G', label='3')
    dot.edge('E', 'H', label='30')
    dot.edge('E', 'F', label='2')
    dot.edge('H', 'G', label='5')
    dot.edge('H', 'I', label='8')
    dot.edge('F', 'I', label='6')

    dot.view()
Esempio n. 23
0
def graph_draw(nodes, edges, name):
    g = Graph(name, format="png")
    for node in nodes:
        g.node(str(node))
    for edge in edges:
        x = edge.split(' ')[0]
        y = edge.split(' ')[1]
        g.edge(x, y)
    g.view()
Esempio n. 24
0
 def renderiza_grafo(self, lugar_para_gerar, nome_grafo):
     A = Graph(comment=nome_grafo, filename=(lugar_para_gerar + '/Grafo.gv'), engine='dot')
     for vertice in self.meuGrafo.nodes_iter(data=False):
         A.node(vertice.encode("utf8"))
     for aresta_A, aresta_B, dados_aresta in self.meuGrafo.edges_iter(data=True):
         peso_aresta = dict((chave, str(valor)) for chave, valor in dados_aresta.items())
         peso_aresta['label'] = peso_aresta['weight']
         del peso_aresta['weight']
         A.edge(aresta_A, aresta_B, **peso_aresta)
     A.view()
    def printSteiner(self, steiner_edges):
        g = GraphV('Gsa', filename='simulatedannealing.gv')  # , engine='sfdp')

        for edge in self.edge_list:
            if tuple(edge) in steiner_edges:
                color = "red"
            else:
                color = "green"
            g.edge(str(edge[1]), str(edge[2]), color=color)
        print(g.source)
        g.view()
Esempio n. 26
0
 def graphvizView(self):
     # assume graphviz (https://pypi.python.org/pypi/graphviz and http://www.graphviz.org/) is installed.
     if not self.edges:
         return
     from graphviz import Graph
     g = Graph('Graph')
     for e in self.edges:
         # print(e)
         g.edge(*e)
     #print(g.source)
     g.view()
Esempio n. 27
0
def showFamilyTree(root_child_elements):
    """US52 - Displays a GEDCOM file as a family tree and saves as a PDF"""

    family = Graph('Family Tree', comment="family tree")
    family.attr(rankdir='TB')
    cluster = 0
    for element in root_child_elements:
        if isinstance(element, FamilyElement):
            husband = gedcom_parser.get_family_members(element,
                                                       members_type='HUSB')[0]
            wife = gedcom_parser.get_family_members(element, 'WIFE')[0]
            children = gedcom_parser.get_family_members(element,
                                                        members_type='CHIL')

            with family.subgraph(name=f'cluster_{cluster}') as graphGroup:
                graphGroup.attr(label=element.get_pointer())
                with graphGroup.subgraph() as s:
                    s.attr(rank='same')

                    s.node(husband.get_pointer(),
                           label=husband.get_name()[0],
                           color='blue',
                           style='filled',
                           fillcolor='red' if listErrors(husband) else 'white')
                    s.node(str(cluster), shape='point')
                    s.node(wife.get_pointer(),
                           label=wife.get_name()[0],
                           color='lightpink',
                           style='filled',
                           fillcolor='red' if listErrors(wife) else 'white')
                    family.edge(husband.get_pointer(),
                                str(cluster),
                                label='husband')
                    family.edge(str(cluster), wife.get_pointer(), label='wife')

                with graphGroup.subgraph() as s:
                    s.attr(rank='same')

                    s.node(str(cluster) + "_1", shape='point')
                    family.edge(str(cluster),
                                str(cluster) + "_1",
                                label='children')
                    for child in children:
                        s.node(
                            child.get_pointer(),
                            label=child.get_name()[0],
                            color='black',
                            style='filled',
                            fillcolor='red' if listErrors(child) else 'white')
                        family.edge(str(cluster) + "_1", child.get_pointer())
            cluster += 1

    family.view()
    return
Esempio n. 28
0
def paint_the_root(jumper_list):
    dot = Graph('G', filename='recommendationNodes.gv')
    dot.attr('node', shape='doublecircle')
    dot.attr('node', shape='circle')
    node_before = jumper_list[0]
    for branch in set(jumper_list):
        dot.node(str(branch), str(branch))
    for branch in jumper_list[1:]:
        dot.edge(str(node_before), str(branch))
        node_before = str(branch)
    dot.view()
Esempio n. 29
0
 def graphGrammar(self):
     if self.gramatica != None:
         dot = Graph()
         dot.attr(splines = 'false')
         dot.node_attr.update(shape = 'record')
         dot.node_attr.update(center = 'false')
         dot.node(str(0), '{'+ self.gramatica.replace('\n', '\\l |')[:-1] +'}')
         try:
             dot.view()
         except:
             self.textEdit_2.setText('ERROR: No fue posible realizar el reporte gramatical por algun error desconocido.')
Esempio n. 30
0
class Graphviz:
    def __init__(self):
        self.g = Graph('Projeto', filename='projeto.gv')

    def show(self):
        self.g.view()

    def add_node(self, peca):
        self.g.node(peca.nome)

    def add_edge(self, pai, filho):
        print(pai.nome)
        self.g.edge(pai.nome, filho.nome)
Esempio n. 31
0
def main(road_path):
    g = Graph('G')
    f = open(road_path, 'r')
    f.readline()
    for line in f.readlines():
        line = line.replace('(', '[')
        line = line.replace(')', ']')
        item = json.loads(line)
        g.edge(str(item[4]), str(item[5]))
        # if item[-1]:
        #     g.edge(str(item[5]), str(item[4]))
    f.close()
    g.view()
Esempio n. 32
0
def graphSimbolos(gramatica):
    if gramatica != None:
        dot = Graph()
        dot.attr(splines='false')
        dot.node_attr.update(shape='record')
        dot.node_attr.update(center='true')
        dot.node(str(0), '{' + gramatica.replace('\n', '|')[:-1] + '}')
        try:
            dot.view()
        except:
            print(
                'ERROR: No fue posible realizar el reporte gramatical por algun error desconocido.'
            )
Esempio n. 33
0
def main():
    graph_attribute = {'overlap': 'false', 'splines': 'true', 'nodesep': '0.5'}
    node_attribute = {'shape': 'point', 'label': "", }
    dot = Graph('G', filename = 'test.gv', engine = 'fdp', node_attr = node_attribute, graph_attr = graph_attribute)
    dot.node('root', color = 'red')
    for i in range(0, 10):
        dot.node('user%d' % i)
        dot.edge('root', 'user%d' % i)
        for j in range(0, 3):
            dot.node('follow' + str(i) + ', ' + str(j))
            dot.edge('follow' + str(i) + ', ' + str(j), 'user%d' % i)
            

    dot.view()
Esempio n. 34
0
def outputToPdf(graph, fileName,sourceLables):
    e = Graph('NYC', filename=fileName, engine='dot')
    e.body.extend(['rankdir=LR', 'size="100,100"'])
    e.attr('node', shape='ellipse')
    e.attr("node",color='green', style='filled')
    edgeExists={}
    for label in sourceLables:
        e.node(str(label))
    e.attr("node",color='lightblue2', style='filled')
    for node in graph.nodeIter():
        for edge in node.neighborsIter():
            if not edge[1] in edgeExists:
                e.attr("edge",labelcolor="blue")
                e.edge(str(node.label()),edge[1],str(int(edge[0]))+"m")
        edgeExists[node.label()]=1
    edgeExists=None

    e.body.append(r'label = "\nIntersections in New York City\n"')
    e.body.append('fontsize=100')
    e.view()
Esempio n. 35
0
def gen_graph_from_nodes(nodes, type_fail=None):
    graph = Graph(format='png', strict=True)
    graph.node_attr['fontname'] = 'Courier New'
    graph.edge_attr['fontname'] = 'Courier New'
    for node in nodes:
        graph.node(_type_str(node.type),
                   '{type: %s|ast_node: %s|parent\'s type: %s}' %
                   (_type_str(node.type),
                    node.ast_node.as_string().replace('<', '\\<').replace('>', '\\>')
                        if node.ast_node else 'None',
                    _type_str(node.parent.type) if node.parent else 'NA'),
                   shape='record', style='rounded')
        for neighb, ctx_node in node.adj_list:
            graph.edge(_type_str(node.type), _type_str(neighb.type),
                       label=(f' {ctx_node.as_string()}' if ctx_node else ''))
    if type_fail:
        graph.node('tf',
                   '{TypeFail|src_node: %s}' %
                   (type_fail.src_node.as_string().replace('<', '\\<').replace('>', '\\>')
                        if type_fail.src_node else 'None'), shape='record')
        graph.edge('tf', _type_str(type_fail.tnode1.type), style='dashed')
        graph.edge('tf', _type_str(type_fail.tnode2.type), style='dashed')
    graph.view('tnode_graph')
Esempio n. 36
0
from graphviz import Graph
import pandas as pd
from os.path import join


my_dir = 'C:\\Users\\John\\Documents\\2016\\Python\\JiraStates'
full_jira_df = pd.read_csv(join(my_dir, 'jira_states.csv'))
# print(df)

issue_list = pd.Series.unique(full_jira_df["IssueNo"])
print(issue_list)



mygraph = Graph('ER', filename='test.gv', engine='circo')

# FIRST SET UP THE NODES
mygraph.attr('node', shape='ellipse', width='10')
mygraph.node('name0', label='name', color='red', width='10')
mygraph.node('name1', label='name')


#NOW JOIN THE NODES WITH EDGES
mygraph.edge('name0', 'name1', color='blue', dir='forward', edgetooltip='a tool tip')



#FINALLY DISPLAY THE GRAPH
mygraph.view()
Esempio n. 37
0
    def plot(self):
        g = Graph(format='png')
        styles = {
            'graph': {
                'rankdir': self.direction,
                'splines': 'line',
                'label': 'Restricted Boltzmann Machine',
                'labelloc': 't', ## t: top, b: bottom, c: center
                'labeljust': 'c', ## l: left, r: right, c: center
            },
            'edge':{
                'color': 'black',
                # 'constraint': 'false',
                'style': 'filled',
            }
        }
        self.add_styles(g, styles)

        vLayer = Graph('cluster_0')
        styles = {
            'graph': {
                'rankdir': 'LR',
                'splines': 'line',
                'label': 'Visible Units',
                'labelloc': 't', ## t: top, b: bottom, c: center
                'labeljust': 'c', ## l: left, r: right, c: center
            },
            'node': {
                'shape': 'circle',
                'color': 'lightblue3',
                'label': '',
            },
            'edge':{
                'color': 'black',
                'constraint': 'false',
                'style': 'filled',
            }
        }
        self.add_styles(vLayer, styles)
        vNodes = ['v%d'%i for i in range(self.numVisible)]
        vNodes[-2] = (vNodes[-2], {'label': '...', 'style': '', 'shape': 'circle', 'color':'white'})
        self.add_nodes(vLayer, vNodes)


        hLayer = Graph('cluster_1')
        styles = {
            'graph': {
                'rankdir': 'LR',
                'splines': 'line',
                'label': 'Hidden Units',
                'labelloc': 'b', ## t: top, b: bottom, c: center
                'labeljust': 'c', ## l: left, r: right, c: center
            },
            'node': {
                'shape': 'circle',
                'color': 'red3',
                'label': '',
            },
            'edge':{
                'color': 'black',
                'constraint': 'false',
                'style': 'filled',
            }
        }
        self.add_styles(hLayer, styles)
        hNodes = ['h%d'%i for i in range(self.numHidden)]
        hNodes[-2] = (hNodes[-2], {'label': '...', 'style': '', 'shape': 'circle', 'color':'white'})
        self.add_nodes(hLayer, hNodes)

        g.subgraph(hLayer)
        g.subgraph(vLayer)
        edges = []
        for vn in vNodes:
            for hn in hNodes:
                if isinstance(vn, tuple):
                    if isinstance(hn, tuple):
                        edges.append(((vn[0], hn[0]), {'style':'invis'}))
                    else:
                        edges.append(((vn[0], hn), {'style': 'invis'}))
                else:
                    if isinstance(hn, tuple):
                        edges.append(((vn, hn[0]), {'style':'invis'}))
                    else:
                        edges.append((vn, hn))
        self.add_edges(g, edges)
        print (g.source)
        g.view()
Esempio n. 38
0
File: er.py Progetto: xflr6/graphviz
e.attr('node', shape='ellipse')
e.node('name0', label='name')
e.node('name1', label='name')
e.node('name2', label='name')
e.node('code')
e.node('grade')
e.node('number')

e.attr('node', shape='diamond', style='filled', color='lightgrey')
e.node('C-I')
e.node('S-C')
e.node('S-I')

e.edge('name0', 'course')
e.edge('code', 'course')
e.edge('course', 'C-I', label='n', len='1.00')
e.edge('C-I', 'institute', label='1', len='1.00')
e.edge('institute', 'name1')
e.edge('institute', 'S-I', label='1', len='1.00')
e.edge('S-I', 'student', label='n', len='1.00')
e.edge('student', 'grade')
e.edge('student', 'name2')
e.edge('student', 'number')
e.edge('student', 'S-C', label='m', len='1.00')
e.edge('S-C', 'course', label='n', len='1.00')

e.attr(label=r'\n\nEntity Relation Diagram\ndrawn by NEATO')
e.attr(fontsize='20')

e.view()
Esempio n. 39
0
#!/usr/bin/env python
# process.py - http://www.graphviz.org/content/process

from graphviz import Graph

g = Graph('G', filename='process.gv', engine='sfdp')

g.edge('run', 'intr')
g.edge('intr', 'runbl')
g.edge('runbl', 'run')
g.edge('run', 'kernel')
g.edge('kernel', 'zombie')
g.edge('kernel', 'sleep')
g.edge('kernel', 'runmem')
g.edge('sleep', 'swap')
g.edge('swap', 'runswap')
g.edge('runswap', 'new')
g.edge('runswap', 'runmem')
g.edge('new', 'runmem')
g.edge('sleep', 'runmem')

g.view()