Sector_coupling/sankey/sankey from csv.ipynb

46 KiB

In [1]:
import plotly.graph_objects as go
import pandas as pd
In [3]:
df_nodes=pd.read_csv('nodes_energy_only.csv')
df_links=pd.read_csv('links_energy_only.csv')

opacity = 0.4

fig = go.Figure(data=[go.Sankey(
    arrangement='fixed',
    valueformat = ".0f",
    valuesuffix = "GWh",
    # Define nodes
    node = dict(
    pad = 15,
    thickness = 25,
    line = dict(color = "black", width = 1),
    label =  df_nodes['node'].values,
    x=df_nodes['x'].values,
    y=df_nodes['y'].values,
    color=df_nodes['color'].values
        
    
    ),
    # Add links
    link = dict(
      source =  df_links['Source_code'].values,
      target =  df_links['Target_code'].values,
      value =   abs(df_links['Value'].values),
      label =  ['%d GWh' %val for val in df_links['Value'].values],
      color =  df_links['Colour'].values
))])

fig.update_layout(title_text='All countries', font_size=24)
fig.write_html("all_countries.html")
fig.write_image("all_countries.png",  width=2500, height=1200)
fig.show()
In [ ]: