From f9930b7f9f08b21154dec233e5c7045a46af9ea5 Mon Sep 17 00:00:00 2001 From: Lionel GUEZ <guez@lmd.ens.fr> Date: Fri, 1 Jul 2022 14:26:55 +0200 Subject: [PATCH] Add script to draw the graph of trajectories --- draw_segments.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100755 draw_segments.py diff --git a/draw_segments.py b/draw_segments.py new file mode 100755 index 00000000..ea2c522a --- /dev/null +++ b/draw_segments.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python3 + +from graph_tool import draw +import graph_tool +import sys +import pygraphviz as pgv +import json + +g = graph_tool.load_graph(sys.argv[1]) +G = pgv.AGraph(directed = True) + +for v in g.vertices(): + G.add_node(g.vp.name[v]) + +for e in g.edges(): + source = e.source() + target = e.target() + G.add_edge(g.vp.name[source], g.vp.name[target], + penwidth = 10 / g.ep.cost_function[e]) + +with open("traj_segm.json") as f: traj_segm = json.load(f) + +for segment_list in traj_segm: + for i in range(len(segment_list) - 1): + e = G.get_edge(segment_list[i], segment_list[i + 1]) + e.attr["color"] = "red" + +G.write(sys.argv[2]) + +G.close() +# strange failure of the script without this, except in ipython: +# TypeError: 'NoneType' object is not callable -- GitLab