# HG changeset patch # User Jeremy Thurgood # Date 1336749208 -7200 # Node ID e49f2dba0ad4b1c21562cdbf3275db993dfe56d5 # Parent 3abb05f7e7208de81f4efcb9f9487b016c298da1 More visualization wrangling. diff -r 3abb05f7e720 -r e49f2dba0ad4 gamelib/visualize.py --- a/gamelib/visualize.py Fri May 11 16:39:17 2012 +0200 +++ b/gamelib/visualize.py Fri May 11 17:13:28 2012 +0200 @@ -5,7 +5,7 @@ COLORS = { 'schematic': 'green', - 'research': 'pink', + 'research': 'blue', } @@ -14,13 +14,15 @@ def add_node(rt, science): - rt.add_node(science, label=science.NAME, color=color(science)) + rt.add_node(science, label=science.NAME, color=color(science), + group=science.NAME, fillcolor='light' + color(science), + style='filled') def add_pre_node(rt, prior, science, points): name = "%s%s" % (science.NAME[:3], points) if name not in rt: - rt.add_node(name, color=color(science)) + rt.add_node(name, color=color(science), group=science.NAME) rt.add_edge(prior, name, color=color(science)) return name @@ -33,13 +35,18 @@ rt.add_edge(prior, science, color=color(science)) -def construct_research_tree(lab): - rt = networkx.DiGraph() - sciences = lab.new_research + lab.new_schematics +def graph_sciences(rt, sciences): for science in sciences: add_node(rt, science) for science in sciences: add_prereqs(rt, science) + + +def construct_research_tree(lab): + rt = networkx.DiGraph() + # We do these separately for a better layout. + graph_sciences(rt, lab.new_research) + graph_sciences(rt, lab.new_schematics) return rt