Showing posts with label Sankey. Show all posts
Showing posts with label Sankey. Show all posts

Saturday, March 28, 2020

Sankey Diagram : power consumption by states in India

In [18]:
import pandas as pd
import numpy as np
import plotly.graph_objs as go
In [19]:
#read excel files in to pandas dataframe
file_nodes = r'D:\Python Scripts\Sankey_Power_Generation\nodes.xlsx'
In [20]:
df_nodes = pd.read_excel(file_nodes)

All values are in MW. Source of data is Wikipedia. Data is as of 31st March 2019.

In [21]:
df_nodes
Out[21]:
ID Label Colour
0 0 Thermal (MW) Coal #4994CE
1 1 Thermal (MW) Gas #4994CE
2 2 Thermal (MW) Diesel #4994CE
3 3 Thermal (MW) Sub-Total Thermal #8A5988
4 4 Nuclear (MW) #449E9E
5 5 Renewable (MW) Hydro #7FC241
6 6 Renewable (MW) Other Renewable #7FC241
7 7 Renewable (MW) Sub-Total Renewable #7FC241
8 8 Total (356,100 MW) #D3D3D3
In [22]:
#read excel files in to pandas dataframe
file_links = r'D:\Python Scripts\Sankey_Power_Generation\link.xlsx'
In [23]:
df_links = pd.read_excel(file_links)
In [24]:
df_links
Out[24]:
Source Value Target LinkColour
0 0 200704 3 rgba(127, 194, 65, 0.2)
1 1 24937 3 rgba(127, 194, 65, 0.2)
2 2 637 3 rgba(127, 194, 65, 0.2)
3 3 226279 8 rgba(211, 211, 211, 0.5)
4 4 6780 8 rgba(211, 211, 211, 0.5)
5 5 45399 7 rgba(253, 227, 212, 1)
6 6 77641 7 rgba(253, 227, 212, 1)
7 7 123040 8 rgba(211, 211, 211, 0.5)
In [ ]:
fig = go.Figure(data=[go.Sankey(node=dict(
pad=15,
thickness=20,
line=dict(color="black",width=0.5),
label=df_nodes['Label'].dropna(axis=0, how='any'),
color=df_nodes['Colour']),link=dict(
source=df_links['Source'].dropna(axis=0, how='any'),
target=df_links['Target'].dropna(axis=0, how='any'),
value=df_links['Value'].dropna(axis=0, how='any'),
color=df_links['LinkColour'].dropna(axis=0, how='any'),
))])
# print(fig)
fig.update_layout(title_text="Basic Sankey Diagram", font_size=10)
fig.show()

Tuesday, November 26, 2019

Sankey Diagram

Sankey diagrams are a type of flow diagram in which the width of the arrows or bands is proportional to the flow rate. 

Above is the diagram of three mutual fund houses, their types of mutual funds and where they invest namely large caps, mid caps, small caps equities debt. 

As against a table or numbers the Sankey diagrams help understand the data. 

The Sankey diagram is my first plot made using plotly and Jupyter notebook. 

#Sankey diagrams emphasize the major transfers or flows within a system.