|
32 | 32 | "PlotLabel": "Null", |
33 | 33 | } |
34 | 34 |
|
35 | | -DEFAULT_TREE_OPTIONS = {**DEFAULT_GRAPH_OPTIONS, |
36 | | - **{"Directed" : "False", |
37 | | - "GraphLayout": '"tree"'}} |
38 | | - |
39 | | -try: |
40 | | - import networkx as nx |
41 | | -except ImportError: |
42 | | - nx = {} |
43 | | - |
| 35 | +import networkx as nx |
44 | 36 |
|
45 | 37 | def _circular_layout(G): |
46 | 38 | return nx.drawing.circular_layout(G, scale=1.5) |
@@ -453,12 +445,6 @@ def update_weights(self, evaluation): |
453 | 445 | return weights |
454 | 446 |
|
455 | 447 |
|
456 | | -class TreeGraph(Graph): |
457 | | - def __init__(self, G, **kwargs): |
458 | | - super(Graph, self).__init__() |
459 | | - self.G = G |
460 | | - |
461 | | - |
462 | 448 | def _is_connected(G): |
463 | 449 | if len(G) == 0: # empty graph? |
464 | 450 | return True |
@@ -776,44 +762,6 @@ def apply_1(self, vertices, edges, evaluation, options): |
776 | 762 | return _graph_from_list(edges.leaves, options=options, new_vertices=vertices.leaves) |
777 | 763 |
|
778 | 764 |
|
779 | | -class TreeGraphAtom(AtomBuiltin): |
780 | | - """ |
781 | | - >> TreeGraph[{1->2, 2->3, 3->1}] |
782 | | - = -Graph- |
783 | | -
|
784 | | - """ |
785 | | - |
786 | | - options = DEFAULT_TREE_OPTIONS |
787 | | - |
788 | | - messages = { |
789 | | - "v": "Expected first parameter vertices to be a list of vertices", |
790 | | - "notree": "Graph is not a tree.", |
791 | | - } |
792 | | - |
793 | | - def apply(self, rules, evaluation, options): |
794 | | - "TreeGraph[rules_List, OptionsPattern[%(name)s]]" |
795 | | - g = _graph_from_list(rules.leaves, options) |
796 | | - if not nx.is_tree(g.G): |
797 | | - evaluation.message(self.get_name(), "notree") |
798 | | - |
799 | | - g.G.graph_layout = String("tree") |
800 | | - # Compute/check/set for root? |
801 | | - return g |
802 | | - |
803 | | - def apply_1(self, vertices, edges, evaluation, options): |
804 | | - "TreeGraph[vertices_List, edges_List, OptionsPattern[%(name)s]]" |
805 | | - if not all(isinstance(v, Atom) for v in vertices.leaves): |
806 | | - evaluation.message(self.get_name(), "v") |
807 | | - |
808 | | - g = _graph_from_list(edges.leaves, options=options, new_vertices=vertices.leaves) |
809 | | - if not nx.is_tree(g.G): |
810 | | - evaluation.message(self.get_name(), "notree") |
811 | | - |
812 | | - g.G.graph_layout = String("tree") |
813 | | - # Compute/check/set for root? |
814 | | - return g |
815 | | - |
816 | | - |
817 | 765 | class PathGraph(_NetworkXBuiltin): |
818 | 766 | """ |
819 | 767 | >> PathGraph[{1, 2, 3}] |
|
0 commit comments