diff options
-rw-r--r-- | networkx/readwrite/gexf.py | 2 | ||||
-rw-r--r-- | networkx/readwrite/tests/test_gexf.py | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/networkx/readwrite/gexf.py b/networkx/readwrite/gexf.py index ab7e26ab..e7e8a2b3 100644 --- a/networkx/readwrite/gexf.py +++ b/networkx/readwrite/gexf.py @@ -569,7 +569,7 @@ class GEXFWriter(GEXF): r=str(color.get("r")), g=str(color.get("g")), b=str(color.get("b")), - a=str(color.get("a")), + a=str(color.get("a", 1.0)), ) element.append(e) diff --git a/networkx/readwrite/tests/test_gexf.py b/networkx/readwrite/tests/test_gexf.py index eba6aed7..95c29f90 100644 --- a/networkx/readwrite/tests/test_gexf.py +++ b/networkx/readwrite/tests/test_gexf.py @@ -491,6 +491,16 @@ gexf.net/1.2draft http://www.gexf.net/1.2draft/gexf.xsd" version="1.2"> sorted(e) for e in H.edges() ) + # Test missing alpha value for version >draft1.1 - set default alpha value + # to 1.0 instead of `None` when writing for better general compatibility + fh = io.BytesIO() + # G.nodes[0]["viz"]["color"] does not have an alpha value explicitly defined + # so the default is used instead + nx.write_gexf(G, fh, version="1.2draft") + fh.seek(0) + H = nx.read_gexf(fh, node_type=int) + assert H.nodes[0]["viz"]["color"]["a"] == 1.0 + # Second graph for the other branch G = nx.Graph() G.add_node(0, label="1", color="green") |