本文整理汇总了Python中pydot.graph_from_dot_file函数的典型用法代码示例。如果您正苦于以下问题:Python graph_from_dot_file函数的具体用法?Python graph_from_dot_file怎么用?Python graph_from_dot_file使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了graph_from_dot_file函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: execute
def execute(path, grammar_file_name, example_file_name, export_dot, export_png):
"""U svrhe brzeg testiranja, metoda koja prima putanju do foldera, naziv fajla gde je gramatika i naziv fajla gde je
primer programa u nasem jeziku i indikator da li da se eksportuju .dot i .png fajlovi"""
meta_path = os.path.join(SRC_DIR, 'model', grammar_file_name)
meta_name = os.path.splitext(meta_path)[0]
metamodel = metamodel_from_file(meta_path)
if export_dot:
metamodel_export(metamodel, meta_name + '.dot')
if export_png:
graph = pydot.graph_from_dot_file(meta_name + '.dot')
graph.write_png(meta_name + '.png')
model_path = os.path.join(path, example_file_name)
model_name = os.path.splitext(model_path)[0]
model = metamodel.model_from_file(model_path)
if export_dot:
model_export(model, model_name + '.dot')
if export_png:
graph = pydot.graph_from_dot_file(model_name + '.dot')
graph.write_png(model_name + '.png')
return model
开发者ID:ftn-tim2,项目名称:jsd-project,代码行数:26,代码来源:execute.py
示例2: makeGraph
def makeGraph(n, nNodes, connections, messages, label):
filename = "out%d"%n
file = open("%s.dot"%filename, "w")
file.write("digraph G {\nlayout=\"neato\"\n")
file.write("graph [dpi = 300];")
radius = nNodes*0.2
for i in range(1, nNodes+1):
angle = 2*math.pi*i/nNodes
x = radius*math.cos(angle)
y = radius*math.sin(angle)
file.write(" %d[pos=\"%f,%f!\",shape=circle];\n"%(i-1, x, y))
for i in range(len(connections)):
for j in connections[i]:
if j not in messages[i]: file.write("%d->%d\n"%(i, j))
for j in messages[i]:
file.write("%d->%d[color=\"red\"];\n"%(i, j))
file.write("labelloc=\"t\";\n")
file.write("label=\"%s\";\n"%label)
file.write("}\n")
file.close()
(graph,) = pydot.graph_from_dot_file("%s.dot"%filename)
graph.write_png('%s.png'%filename)
开发者ID:wyh136,项目名称:iotex-core,代码行数:28,代码来源:plot.py
示例3: open_file
def open_file(self):
"""Abre el fichero .csv o .dot indicado en el primer argumento del
terminal.
Formato del fichero CSV: el número de línea-1 marca el número de nodo
Separados por comas los nodos destino"""
try:
fileR = open(sys.argv[1], "r")
except IOError:
print("Imposible abrir fichero")
except:
print("Introduce nombre de fichero")
else:
#Se ha seleccionado un fichero CSV
if re.match(".*(\.csv)$", sys.argv[1]):
fileC = csv.reader(fileR, delimiter=',')
filecsv = [n for n in fileC]
self.create_nodes(filecsv)
#Se ha seleccionado un fichero DOT
elif re.match(".*(\.dot)$", sys.argv[1]):
filedot = [[] for n in range(0, 15)]
graph = pydot.graph_from_dot_file(sys.argv[1])
res = graph.get_edges()
for n in res:
filedot[int(n.get_source())].append(int(n.get_destination()))
self.create_nodes(filedot)
else:
print('Extensión de fichero no válida')
开发者ID:mjota,项目名称:Dijkstra-Scholten,代码行数:28,代码来源:main.py
示例4: max_tree
def max_tree(max_depth=None, out_file=None):
"""
Creates decision tree of max_depth. If max_depth is None the tree's depth won't be bounded.
If out_file is specificed, function will make a dot file and png of generated tree
prints training and testing error to stdout
"""
data = np.loadtxt("fourier/energy.txt", delimiter=",")
X = []
y = []
for row in data:
y.append(int(row[1]))
X.append(map(int, row[2:]))
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.4, random_state=0)
print X_train
clf = tree.DecisionTreeClassifier(max_depth=max_depth)
clf = clf.fit(X_train, y_train)
print "trained tree of depth %s" % (max_depth)
print "training error: %f" % (1 - clf.score(X_train, y_train))
print "testing error: %f" % (1 - clf.score(X_test, y_test))
if out_file:
with open(out_file + ".dot", "w") as f:
f = tree.export_graphviz(clf, out_file=f)
graph = pydot.graph_from_dot_file(out_file + ".dot")
graph.write_png(out_file + ".png")
开发者ID:kmax12,项目名称:867-final-project,代码行数:34,代码来源:decision_tree.py
示例5: visualize_mdp
def visualize_mdp(mdp, filename):
log.info('in the visualize_mdp function')
import pydot
import networkx as nx
from networkx.drawing.nx_agraph import write_dot
G=nx.DiGraph()
for s in mdp['states']:
for a in s['actions']:
for t in a['transitions']:
ecolor='red' if a['id'] else 'green'
elabel='p={}, r={}'.format(t['probability'], t['reward'])
G.add_edge(s['id'], t['to'],
color=ecolor,
label=elabel)
log.info('writing dot file')
write_dot(G, filename.replace('.json', '.dot'))
g = pydot.graph_from_dot_file(filename.replace('.json', '.dot'))[0]
log.info('writing png from dot file')
g.write_png(filename.replace('.json', '.png'))
log.info('removing intermediate dot file')
os.remove(filename.replace('.json', '.dot'))
return filename.replace('.json', '.png')
开发者ID:rding0731,项目名称:rding.github.io,代码行数:28,代码来源:hw3_tester.py
示例6: max_tree
def max_tree(X, y, max_depth = None, out_file = None):
"""
Creates decision tree of max_depth. If max_depth is None the tree's depth won't be bounded.
If out_file is specificed, function will make a dot file and png of generated tree
prints training and testing error to stdout
"""
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=.4, random_state=0)
clf = tree.DecisionTreeClassifier(max_depth=max_depth)
clf = clf.fit(X_train, y_train)
print "trained tree of depth %s" % (max_depth)
print "training error: %f" % (1-clf.score(X_train, y_train))
print "testing error: %f" % (1-clf.score(X_test, y_test))
out_file = None
if out_file:
with open(out_file+".dot", 'w') as f:
f = tree.export_graphviz(clf, out_file=f)
graph = pydot.graph_from_dot_file(out_file+".dot")
graph.write_png(out_file+'.png')
开发者ID:kmax12,项目名称:867-final-project,代码行数:26,代码来源:decision_tree.py
示例7: _render_with_pydot
def _render_with_pydot(self, filename, encoding):
c = pydot.graph_from_dot_file(filename, encoding=encoding)
sha = ''
for g in c:
jpe_data = g.create(format='jpe')
sha += sha256(jpe_data).hexdigest()
return sha
开发者ID:yosh7of9,项目名称:pydot,代码行数:7,代码来源:pydot_unittest.py
示例8: OnPopupItemGraph
def OnPopupItemGraph(self, event):
for row in self.ReportGrid.GetSelectedRows():
label = self.ReportGrid.GetCellValue(row,0)
id = self.ReportGrid.GetCellValue(row,1)
### plot the graph
### TODO link with properties frame
for fct in ('extTransition','intTransition', 'outputFnc', 'timeAdvance'):
filename = "%s(%s)_%s.dot"%(label,str(id),fct)
path = os.path.join(tempfile.gettempdir(), filename)
### if path exist
if os.path.exists(path):
graph = pydot.graph_from_dot_file(path)
filename_png = os.path.join(tempfile.gettempdir(),"%s(%s)_%s.png"%(label,str(id),fct))
graph.write_png(filename_png, prog='dot')
pylab.figure()
img = pylab.imread(filename_png)
pylab.imshow(img)
fig = pylab.gcf()
fig.canvas.set_window_title(filename)
pylab.axis('off')
pylab.show()
开发者ID:capocchi,项目名称:DEVSimPy-plugin-activity-tracking,代码行数:27,代码来源:activity-tracking.py
示例9: draw
def draw(self):
g = nx.MultiDiGraph()
lr_content = {}
for k,v in self.progress_present.iteritems():
label = 'I %d\n'%k
count = 0
for rule in v:
break
label += rule[0] + ' --> '
for r in rule[1]:
if r == u'dot':
label += '^ '
else:
label += r + ' '
label += '\n'
lr_content[k] = label
for k,v in self.state_present.iteritems():
for edge, to in v.iteritems():
g.add_edge(lr_content[k], lr_content[to], label = edge)
name = 'goto'
nx.write_dot(g, name + '.dot')
g = pydot.graph_from_dot_file(name+'.dot')
g.write_jpg(name+'.jpg')
开发者ID:a367,项目名称:Lexcial,代码行数:25,代码来源:LR.py
示例10: processFile
def processFile(filename, dictionary=None, debug=0):
"""
parse a file, solve the model, return the results
This is a useful function in its own right, as well as an example
of how to use the MarkovAvail class and make sense of the results.
Args:
filename (string): name of dot format input file
dictionary (string): name of transition rates file
space/tab separated <name,value> pairs, w/comments
debug (int): level of desired debug output
0: none
1: parsed and interpreted parameters
2: painful for code (not model) debugging
Returns:
MarkovAvail: parameters and solutions
list: sorted (state #, occupancy) tupples
"""
# process the input file
g = pydot.graph_from_dot_file(filename)
# process the dictionary
valueDict = {}
if dictionary is not None:
if debug > 1:
print("Using value dictionary: %s" % (dictionary))
with open(dictionary) as f:
for line in f:
# skip comment lines
if line.startswith('#') or line.startswith('/'):
continue
# a value line needs at least two fields
parts = line.split()
if len(parts) >= 2:
key = parts[0]
value = parts[1]
valueDict[key] = value
if debug > 1:
print(" dictionary[%s]:\t%s" % (key, value))
# process the model
m = MarkovAvail(g, valueDict, debug)
# solve the model and print the results
m.solve()
# create a list of states, sorted by decreasing occupancy
stateOccupancies = {}
for i in range(m.numstates):
o = m.occupancy[i]
stateOccupancies[i] = o
sortedStates = sorted(stateOccupancies.iteritems(),
key=operator.itemgetter(1),
reverse=True)
# return the solution and the sorted state/occupancy list
return (m, sortedStates)
开发者ID:markkampe,项目名称:MarkovAvailability,代码行数:59,代码来源:MarkovAvail.py
示例11: write_image_of_decision_tree
def write_image_of_decision_tree(filename, decision_tree, columns):
"""Create an image visualising a decision tree."""
dot_filename = str(filename) + '.dot'
dotfile = open(dot_filename, 'w')
tree.export_graphviz(decision_tree, out_file = dotfile, feature_names = columns)
dotfile.close()
graph = pydot.graph_from_dot_file(dot_filename)
graph.write_png(str(filename) + '.png')
开发者ID:danacton,项目名称:datascience,代码行数:9,代码来源:titanic-survivors.py
示例12: make_graph
def make_graph(sciid,outfmt='pdf'):
gc = graph_from_dot_file(TMP+'{}.dot'.format(sciid))
gc.set_overlap(0)
if 'png' in outfmt:
gc.write_png('{}.png'.format(sciid), prog='dot')
if 'pdf' in outfmt:
gc.write_pdf('{}.pdf'.format(sciid), prog='dot') #fdp, dot,
开发者ID:Aurametrix,项目名称:Alg,代码行数:9,代码来源:sci_genealogy.py
示例13: draw
def draw(self):
g = nx.MultiDiGraph()
for id,path in self.s_DFA.iteritems():
for label, to_id in path.iteritems():
g.add_edge(id,to_id,label=label)
name = 'dfa'
nx.write_dot(g, name + '.dot')
g = pydot.graph_from_dot_file(name+'.dot')
g.write_jpg(name+'.jpg')
开发者ID:a367,项目名称:Lexcial,代码行数:9,代码来源:NFAtoDFA.py
示例14: main
def main(infilename):
"""
Get all graph info, and then search for cycle, sources and sinks
"""
graph = pydot.graph_from_dot_file(infilename)
nodes = get_nodes_info(graph)
load_links(graph, nodes)
propagate_lineage(nodes)
dump_status(nodes)
开发者ID:ze42,项目名称:salt-state-graph,代码行数:9,代码来源:salt-state-check-graph.py
示例15: write_svg
def write_svg(self):
"""
Create SVG out of the dotfile
@dotfile: In-dotfile
"""
self._write_stop()
graph = pydot.graph_from_dot_file(self.dotfile)
svg = graph.write_svg(os.path.join(self.resdir, "map.svg"))
开发者ID:Aki92,项目名称:thug,代码行数:10,代码来源:Mapper.py
示例16: process_graphs
def process_graphs(self, file_names, squash_versions=False, analyze=False):
graphs = []
for x in file_names:
xg = pydot.graph_from_dot_file(x)
graphs.append(xg)
final_graph = graphs[0]
if len(graphs) > 1:
if squash_versions:
for g in graphs:
GraphProcessor.do_squash_versions(g)
final_graph = GraphProcessor.merge_graphs(graphs)
# we're a little broken here, because the version squashing
# plus merging does some implicit analysis of version conflicts
if analyze:
per_graph_node_sets, intersection = GraphProcessor.intersecting_nodes(graphs)
style=NodeStyleRule.globalRule({'fillcolor': GraphProcessor.DEFAULT_COLORS['intersect'], 'style':'filled'})
for x in intersection:
style.apply_node(final_graph, x)
non_intersect = GraphProcessor.non_intersecting_nodes_per_graph(graphs, per_graph_node_sets)
for x in non_intersect:
color = GraphProcessor.DEFAULT_COLORS['non_intersect_list'].pop(0)
style = NodeStyleRule.globalRule({'fillcolor':color, 'style':'filled'})
for y in non_intersect[x]:
style.apply_node(final_graph, y)
if squash_versions:
# necessary because we wedged a non-standard
# attribute into the nodes marking their versions
for n in final_graph.get_nodes():
SquashVersionRule.clean_version_tag(n)
for rule in self.style_rules:
for e in final_graph.get_edges():
rule.apply(final_graph, e)
# otherwise it's unreadable
final_graph.set('rankdir', 'LR')
return final_graph
开发者ID:willgage,项目名称:graph-scripts,代码行数:53,代码来源:mvndepgraph.py
示例17: gf_dependencies
def gf_dependencies(path, unlink=True):
from subprocess import Popen, PIPE
from tempfile import TemporaryFile
import os
dotFile = "_gfdepgraph.dot"
with TemporaryFile() as f:
f.write('dg\n')
f.seek(0)
p = Popen(('gf', '-s', '-retain', path), stdin=f, stdout=PIPE)
p.wait()
dot = pydot.graph_from_dot_file(dotFile)
if unlink: os.unlink(dotFile)
return dot
开发者ID:saludes,项目名称:sublime-GF,代码行数:13,代码来源:dependencies.py
示例18: main
def main(args):
if args.output.endswith('tsv'):
if not args.perform_closure:
graph = pydot.graph_from_dot_file(args.input)
edges = graph.get_edges()
with open(args.output, "wb") as f:
for edge in edges:
src = edge.get_source()
dest = edge.get_destination()
edge_type = edge.get('type') # edge.type
f.write('%s %s %s\n'%(src, dest, edge_type))
return
raise NotImplementedError
开发者ID:se4u,项目名称:grafl_public,代码行数:14,代码来源:util_make_toy_graph.py
示例19: _render_with_pydot
def _render_with_pydot(self, filename):
#f = open(filename, 'rt')
#graph_data = f.read()
#f.close()
#g = pydot.parse_from_dot_data(graph_data)
g = pydot.graph_from_dot_file(filename)
if not isinstance(g, list):
g = [g]
jpe_data = NULL_SEP.join([_g.create(format='jpe') for _g in g])
return sha256(jpe_data).hexdigest()
开发者ID:krzysbaranski,项目名称:pydot,代码行数:14,代码来源:pydot_unittest.py
示例20: build_nodes_tree_from_amr_dot_file
def build_nodes_tree_from_amr_dot_file(amr_dot_file_path):
# extract interactions and complex formations (including complex disintegration) from the dot file format for an amr
amr = pd.graph_from_dot_file(cap.absolute_path + amr_dot_file_path)
sentence = amr.get_label()
sentence = sentence.replace("\ ", "")
nodes = {}
# iterate over all edges to build a tree of nodes
edges = amr.get_edge_list()
# print 'edges: ', edges
for edge in edges:
# print 'edge', edge
# print 'edge: ', edge
source = edge.get_source()
# print 'source: ', source
destination = edge.get_destination()
# print 'destination: ', destination
edge_label = edge.get_label()
edge_label = constants.no_quotes_regexp.sub("", edge_label)
# print 'edge_label: ', edge_label
edge = None
# source not in the nodes_list
if not nodes.has_key(source):
source_node = amr.get_node(source)[0]
nodes[source] = Node(source, source_node.get_label())
source_node = None
if not nodes.has_key(destination):
destination_node = amr.get_node(destination)[0]
nodes[destination] = Node(destination, destination_node.get_label())
destination_node = None
if edge_label == "TOP":
if source != destination:
raise AssertionError
nodes[constants.root] = nodes[source] # source and destination are same for TOP edge
nodes[constants.root].is_root = True
else:
# linking destination as child of source, there can be multiple children with a given edge_label
if edge_label not in nodes[source].children:
nodes[source].children[edge_label] = [nodes[destination]]
else:
if nodes[destination] not in nodes[source].children[edge_label]:
nodes[source].children[edge_label].append(nodes[destination])
# linking source as parent of destination, there can be multiple parents with same edge_label (eg: a protein can be a catalyst for multiple interactions)
if edge_label not in nodes[destination].parents: # if list is empty
nodes[destination].parents[edge_label] = [nodes[source]]
else:
if nodes[source] not in nodes[destination].parents[edge_label]:
nodes[destination].parents[edge_label].append(nodes[source])
# print 'nodes: ', nodes
# amr.write_pdf(cap.absolute_path+amr_dot_file_path+'.pdf')
return nodes, sentence
开发者ID:sgarg87,项目名称:big_mech_isi_gg,代码行数:50,代码来源:read_dot_file.py
注:本文中的pydot.graph_from_dot_file函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论