当前位置: 首页>>代码示例>>Python>>正文


Python pydot_ng.Edge方法代码示例

本文整理汇总了Python中pydot_ng.Edge方法的典型用法代码示例。如果您正苦于以下问题:Python pydot_ng.Edge方法的具体用法?Python pydot_ng.Edge怎么用?Python pydot_ng.Edge使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pydot_ng的用法示例。


在下文中一共展示了pydot_ng.Edge方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_unicode_ids

# 需要导入模块: import pydot_ng [as 别名]
# 或者: from pydot_ng import Edge [as 别名]
def test_unicode_ids():
    node1 = '"aánñoöüé€"'
    node2 = '"îôø®çßΩ"'

    graph = pydot.Dot()
    graph.set_charset("latin1")
    graph.add_node(pydot.Node(node1))
    graph.add_node(pydot.Node(node2))
    graph.add_edge(pydot.Edge(node1, node2))

    assert graph.get_node(node1)[0].get_name() == node1
    assert graph.get_node(node2)[0].get_name() == node2

    assert graph.get_edges()[0].get_source() == node1
    assert graph.get_edges()[0].get_destination() == node2

    graph2 = pydot.graph_from_dot_data(graph.to_string())

    assert graph2.get_node(node1)[0].get_name() == node1
    assert graph2.get_node(node2)[0].get_name() == node2

    assert graph2.get_edges()[0].get_source() == node1
    assert graph2.get_edges()[0].get_destination() == node2 
开发者ID:pydot,项目名称:pydot-ng,代码行数:25,代码来源:test_pydot.py

示例2: _create_graph

# 需要导入模块: import pydot_ng [as 别名]
# 或者: from pydot_ng import Edge [as 别名]
def _create_graph(structure_dict):
    """Creates pydot graph from the pipeline structure dict.

    Args:
        structure_dict (dict): dict returned by step.upstream_structure

    Returns:
        graph (pydot.Dot): object representing upstream pipeline structure (with regard to the current Step).
    """
    graph = pydot.Dot()
    for node in structure_dict['nodes']:
        graph.add_node(pydot.Node(node))
    for node1, node2 in structure_dict['edges']:
        graph.add_edge(pydot.Edge(node1, node2))
    return graph 
开发者ID:sattree,项目名称:gap,代码行数:17,代码来源:utils.py

示例3: create_graph

# 需要导入模块: import pydot_ng [as 别名]
# 或者: from pydot_ng import Edge [as 别名]
def create_graph(graph_info):
    dot = pydot.Dot()
    for node in graph_info['nodes']:
        dot.add_node(pydot.Node(node))
    for node1, node2 in graph_info['edges']:
        dot.add_edge(pydot.Edge(node1, node2))
    return dot 
开发者ID:minerva-ml,项目名称:open-solution-data-science-bowl-2018,代码行数:9,代码来源:utils.py

示例4: test_graph_is_picklabe

# 需要导入模块: import pydot_ng [as 别名]
# 或者: from pydot_ng import Edge [as 别名]
def test_graph_is_picklabe():
    import pickle

    graph = pydot.Graph()
    subgraph = pydot.Subgraph("foo")
    graph.add_subgraph(subgraph)
    graph.add_edge(pydot.Edge("A", "B"))
    graph.add_edge(pydot.Edge("A", "C"))
    graph.add_edge(pydot.Edge(("D", "E")))
    graph.add_node(pydot.Node("node!"))

    assert isinstance(pickle.dumps(graph), bytes) 
开发者ID:pydot,项目名称:pydot-ng,代码行数:14,代码来源:test_pydot.py

示例5: model_to_dot

# 需要导入模块: import pydot_ng [as 别名]
# 或者: from pydot_ng import Edge [as 别名]
def model_to_dot(model, show_shapes=False, show_layer_names=True):
    dot = pydot.Dot()
    dot.set('rankdir', 'TB')
    dot.set('concentrate', True)
    dot.set_node_defaults(shape='record')

    if model.__class__.__name__ == 'Sequential':
        if not model.built:
            model.build()
        model = model.model
    layers = model.layers

    # first, populate the nodes of the graph
    for layer in layers:
        layer_id = str(id(layer))
        if show_layer_names:
            label = str(layer.name) + ' (' + layer.__class__.__name__ + ')'
        else:
            label = layer.__class__.__name__

        if show_shapes:
            # Build the label that will actually contain a table with the
            # input/output
            try:
                outputlabels = str(layer.output_shape)
            except:
                outputlabels = 'multiple'
            if hasattr(layer, 'input_shape'):
                inputlabels = str(layer.input_shape)
            elif hasattr(layer, 'input_shapes'):
                inputlabels = ', '.join(
                    [str(ishape) for ishape in layer.input_shapes])
            else:
                inputlabels = 'multiple'
            label = '%s\n|{input:|output:}|{{%s}|{%s}}' % (label, inputlabels, outputlabels)

        node = pydot.Node(layer_id, label=label)
        dot.add_node(node)

    # second, add the edges
    for layer in layers:
        layer_id = str(id(layer))
        for i, node in enumerate(layer.inbound_nodes):
            node_key = layer.name + '_ib-' + str(i)
            if node_key in model.container_nodes:
                # add edges
                for inbound_layer in node.inbound_layers:
                    inbound_layer_id = str(id(inbound_layer))
                    layer_id = str(id(layer))
                    dot.add_edge(pydot.Edge(inbound_layer_id, layer_id))
    return dot 
开发者ID:GUR9000,项目名称:KerasNeuralFingerprint,代码行数:53,代码来源:visualize_util.py

示例6: add_elements

# 需要导入模块: import pydot_ng [as 别名]
# 或者: from pydot_ng import Edge [as 别名]
def add_elements(g, toks, defaults_graph=None, defaults_node=None,
                 defaults_edge=None):
    if defaults_graph is None:
        defaults_graph = {}
    if defaults_node is None:
        defaults_node = {}
    if defaults_edge is None:
        defaults_edge = {}

    for element in toks:
        if isinstance(element, (pydot.Subgraph, pydot.Cluster)):
            add_defaults(element, defaults_graph)
            g.add_subgraph(element)

        elif isinstance(element, pydot.Node):
            add_defaults(element, defaults_node)
            g.add_node(element)

        elif isinstance(element, pydot.Edge):
            add_defaults(element, defaults_edge)
            g.add_edge(element)

        elif isinstance(element, pyparsing.ParseResults):
            for e in element:
                add_elements(g, [e], defaults_graph, defaults_node,
                             defaults_edge)

        elif isinstance(element, DefaultStatement):
            if element.default_type == 'graph':
                default_graph_attrs = pydot.Node('graph', **element.attrs)
                g.add_node(default_graph_attrs)

            elif element.default_type == 'node':
                default_node_attrs = pydot.Node('node', **element.attrs)
                g.add_node(default_node_attrs)

            elif element.default_type == 'edge':
                default_edge_attrs = pydot.Node('edge', **element.attrs)
                g.add_node(default_edge_attrs)
                defaults_edge.update(element.attrs)

            else:
                raise ValueError("Unknown DefaultStatement: {0} ".
                                 format(element.default_type))

        elif isinstance(element, P_AttrList):
            g.obj_dict['attributes'].update(element.attrs)

        else:
            raise ValueError("Unknown element statement: %r" % element) 
开发者ID:pydot,项目名称:pydot-ng,代码行数:52,代码来源:_dotparser.py

示例7: push_edge_stmt

# 需要导入模块: import pydot_ng [as 别名]
# 或者: from pydot_ng import Edge [as 别名]
def push_edge_stmt(str, loc, toks):
    tok_attrs = [a for a in toks if isinstance(a, P_AttrList)]
    attrs = {}

    for a in tok_attrs:
        attrs.update(a.attrs)

    e = []

    if isinstance(toks[0][0], pydot.Graph):
        n_prev = pydot.frozendict(toks[0][0].obj_dict)
    else:
        n_prev = toks[0][0] + do_node_ports(toks[0])

    if isinstance(toks[2][0], pyparsing.ParseResults):
        n_next_list = [[n.get_name()] for n in toks[2][0]]
        for n_next in [n for n in n_next_list]:
            n_next_port = do_node_ports(n_next)
            e.append(pydot.Edge(n_prev, n_next[0] + n_next_port, **attrs))

    elif isinstance(toks[2][0], pydot.Graph):
        e.append(pydot.Edge(n_prev, pydot.frozendict(toks[2][0].obj_dict),
                            **attrs))

    elif isinstance(toks[2][0], pydot.Node):
        node = toks[2][0]

        if node.get_port() is not None:
            name_port = node.get_name() + ":" + node.get_port()
        else:
            name_port = node.get_name()

        e.append(pydot.Edge(n_prev, name_port, **attrs))

    elif isinstance(toks[2][0], type('')):
        for n_next in [n for n in tuple(toks)[2::2]]:
            if isinstance(n_next, P_AttrList) or not isinstance(n_next[0],
                                                                type('')):
                continue

            n_next_port = do_node_ports(n_next)
            e.append(pydot.Edge(n_prev, n_next[0] + n_next_port, **attrs))

            n_prev = n_next[0] + n_next_port

    else:
        # UNEXPECTED EDGE TYPE
        pass

    return e 
开发者ID:pydot,项目名称:pydot-ng,代码行数:52,代码来源:_dotparser.py


注:本文中的pydot_ng.Edge方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。