Dear Community,
I have created a graph with 8 subplots corresponding to the energy production of each wind turbine in a farm per year. Each subplot corresponds to a different year of operation. I managed to get a nice colorscale applied to each of the subplots but each of the colorscales has a different range (based on the data in each of the subplots).
I would like to make one where there is a “global” colorscale and the values in each plot correspond to the fixed colours. I would be grateful for your suggestions.
SUBPLOTS WITH AEP per turbine
def aep_turbine_subplot_fig(years, AEP):
fig = make_subplots(rows = 4, cols = 2, subplot_titles = years) fig.add_trace(go.Bar(x = get_turbine_names(), y = AEP.iloc[0,:], name = '2012', marker = {'color': AEP.iloc[0,:], 'colorscale': 'RdBu'}), row = 1, col = 1) fig.add_trace(go.Bar(x = get_turbine_names(), y = AEP.iloc[1,:], name = '2013', marker = {'color': AEP.iloc[1,:], 'colorscale': 'RdBu'}), row = 1, col = 2) fig.add_trace(go.Bar(x = get_turbine_names(), y = AEP.iloc[2,:], name = '2014', marker = {'color': AEP.iloc[2,:], 'colorscale': 'RdBu'}), row = 2, col = 1) fig.add_trace(go.Bar(x = get_turbine_names(), y = AEP.iloc[3,:], name = '2015', marker = {'color': AEP.iloc[3,:], 'colorscale': 'RdBu'}), row = 2, col = 2) fig.add_trace(go.Bar(x = get_turbine_names(), y = AEP.iloc[4,:], name = '2016', marker = {'color': AEP.iloc[4,:], 'colorscale': 'RdBu'}), row = 3, col = 1) fig.add_trace(go.Bar(x = get_turbine_names(), y = AEP.iloc[5,:], name = '2017', marker = {'color': AEP.iloc[5,:], 'colorscale': 'RdBu'}), row = 3, col = 2) fig.add_trace(go.Bar(x = get_turbine_names(), y = AEP.iloc[6,:], name = '2018', marker = {'color': AEP.iloc[6,:], 'colorscale': 'RdBu'}), row = 4, col = 1) fig.add_trace(go.Bar(x = get_turbine_names(), y = AEP.iloc[7,:], name = '2019 (Jan to Jun)', marker = {'color': AEP.iloc[7,:], 'colorscale': 'RdBu'}), row = 4, col = 2) # editing the yaxes in each subplot fig.update_yaxes(title_text='AEP [GWh] in 2012', title_font = dict(size = 14), row=1, col=1, range = [0,8.2]) fig.update_yaxes(title_text='AEP [GWh] in 2013', title_font = dict(size = 14), row=1, col=2, range = [0,8.2]) fig.update_yaxes(title_text='AEP [GWh] in 2014', title_font = dict(size = 14), row=2, col=1, range = [0,8.2]) fig.update_yaxes(title_text='AEP [GWh] in 2015', title_font = dict(size = 14), row=2, col=2, range = [0,8.2]) fig.update_yaxes(title_text='AEP [GWh] in 2016', title_font = dict(size = 14), row=3, col=1, range = [0,8.2]) fig.update_yaxes(title_text='AEP [GWh] in 2017', title_font = dict(size = 14), row=3, col=2, range = [0,8.2]) fig.update_yaxes(title_text='AEP [GWh] in 2018', title_font = dict(size = 14), row=4, col=1, range = [0,8.2]) fig.update_yaxes(title_text='AEP [GWh] in 2019', title_font = dict(size = 14), row=4, col=2, range = [0,8.2]) fig.update_layout( title = 'AEP per turbine', xaxis_tickfont_size = 14, barmode='group', bargap=0.15, # gap between bars of adjacent location coordinates. bargroupgap=0.1, # gap between bars of the same location coordinate. showlegend = False, plot_bgcolor ='rgb(160,160,160)', ) fig.write_image(get_fig_dir() + 'AEP_perTurbine.png', width = 800, height = 800) fig.show(renderer = 'png', width = 800, height = 1000) return plot(fig, auto_open = True)