From 38e4ffefdc08c8b866b335d976701874fbd9ff22 Mon Sep 17 00:00:00 2001 From: Sylwia Mielnicka Date: Thu, 19 Mar 2020 08:25:25 +0100 Subject: [PATCH 1/3] Update sankey-diagram.md Add colorful links to the Sankey diagram. --- doc/python/sankey-diagram.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/doc/python/sankey-diagram.md b/doc/python/sankey-diagram.md index 83ac4faded..6bfe027e38 100644 --- a/doc/python/sankey-diagram.md +++ b/doc/python/sankey-diagram.md @@ -71,6 +71,13 @@ import urllib, json url = 'https://raw.githubusercontent.com/plotly/plotly.js/master/test/image/mocks/sankey_energy.json' response = urllib.request.urlopen(url) data = json.loads(response.read()) + +# override gray link colors with 'source' colors +opacity = 0.4 +data['data'][0]['node']['color'] = ['rgba(255,0,255, 0.8)' if color == "magenta" else color for color in data['data'][0]['node']['color']] +data['data'][0]['link']['color'] = [data['data'][0]['node']['color'][src] for src in data['data'][0]['link']['source']] +data['data'][0]['link']['color'] = [color.replace("0.8", str(opacity)) for color in data['data'][0]['link']['color']] + fig = go.Figure(data=[go.Sankey( valueformat = ".0f", valuesuffix = "TWh", @@ -87,8 +94,9 @@ fig = go.Figure(data=[go.Sankey( source = data['data'][0]['link']['source'], target = data['data'][0]['link']['target'], value = data['data'][0]['link']['value'], - label = data['data'][0]['link']['label'] - ))]) + label = data['data'][0]['link']['label'], + color = data['data'][0]['link']['color'] +))]) fig.update_layout(title_text="Energy forecast for 2050
Source: Department of Energy & Climate Change, Tom Counsell via Mike Bostock", font_size=10) From 367e62385fa6db588912c1ccf9c145f5316d839b Mon Sep 17 00:00:00 2001 From: Sylwia Mielnicka Date: Fri, 27 Mar 2020 15:31:08 +0100 Subject: [PATCH 2/3] Apply suggestions from code review More complex Sankey diagram with colored links - setting the link color in one line, add the comment why 'magenta' is changed to its rgba value. Co-Authored-By: Emmanuelle Gouillart --- doc/python/sankey-diagram.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/python/sankey-diagram.md b/doc/python/sankey-diagram.md index 6bfe027e38..55247af7e5 100644 --- a/doc/python/sankey-diagram.md +++ b/doc/python/sankey-diagram.md @@ -74,9 +74,10 @@ data = json.loads(response.read()) # override gray link colors with 'source' colors opacity = 0.4 +# change 'magenta' to its 'rgba' value to add opacity data['data'][0]['node']['color'] = ['rgba(255,0,255, 0.8)' if color == "magenta" else color for color in data['data'][0]['node']['color']] -data['data'][0]['link']['color'] = [data['data'][0]['node']['color'][src] for src in data['data'][0]['link']['source']] -data['data'][0]['link']['color'] = [color.replace("0.8", str(opacity)) for color in data['data'][0]['link']['color']] +data['data'][0]['link']['color'] = [data['data'][0]['node']['color'][src].replace("0.8", str(opacity)) + for src in data['data'][0]['link']['source']] fig = go.Figure(data=[go.Sankey( valueformat = ".0f", From 3003bcef4cfea000321ac8bc4274603fb38285c2 Mon Sep 17 00:00:00 2001 From: Sylwia Date: Fri, 27 Mar 2020 15:48:45 +0100 Subject: [PATCH 3/3] Change paragraph title to 'More complex Sankey diagram with colored links' --- doc/python/sankey-diagram.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/python/sankey-diagram.md b/doc/python/sankey-diagram.md index 55247af7e5..a0801aa05b 100644 --- a/doc/python/sankey-diagram.md +++ b/doc/python/sankey-diagram.md @@ -62,9 +62,9 @@ fig.update_layout(title_text="Basic Sankey Diagram", font_size=10) fig.show() ``` -### More complex Sankey diagram +### More complex Sankey diagram with colored links -```python inputHidden=false outputHidden=false +```python import plotly.graph_objects as go import urllib, json @@ -76,7 +76,7 @@ data = json.loads(response.read()) opacity = 0.4 # change 'magenta' to its 'rgba' value to add opacity data['data'][0]['node']['color'] = ['rgba(255,0,255, 0.8)' if color == "magenta" else color for color in data['data'][0]['node']['color']] -data['data'][0]['link']['color'] = [data['data'][0]['node']['color'][src].replace("0.8", str(opacity)) +data['data'][0]['link']['color'] = [data['data'][0]['node']['color'][src].replace("0.8", str(opacity)) for src in data['data'][0]['link']['source']] fig = go.Figure(data=[go.Sankey(