本文整理汇总了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
示例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
示例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
示例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)
示例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
示例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)
示例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