I have a subplot figure with multiple plots and canโt seem to remove the extra space between the plots and legend. Is there any way to remove this extra space? Screenshot and code below.
fig = make_subplots(
rows=6,
cols=2,
column_widths=[0.7, 0.3],
specs=[[{'rowspan': 2, 'secondary_y': True}, {'rowspan': 3}],
[None, None],
[{'rowspan': 2}, None],
[None, {'rowspan': 3}],
[{'rowspan': 2}, None],
[None, None]],
shared_xaxes=True,
horizontal_spacing=0.07,
vertical_spacing=0.02
)
fig.add_trace(go.Scatter(x=[1, 2], y=[1, 2], name="(1,1)"), row=1, col=1, secondary_y=False)
fig.add_trace(go.Scatter(x=[2, 3], y=[2, 3], name="(2,3)"), row=1, col=1, secondary_y=True)
fig.add_trace(go.Scatter(x=[1, 2], y=[1, 2], name="(1,2)"), row=1, col=2)
fig.add_trace(go.Scatter(x=[1, 2], y=[1, 2], name="(2,1)"), row=3, col=1)
fig.add_trace(go.Scatter(x=[1, 2], y=[1, 2], name="(3,1)"), row=4, col=2)
fig.add_trace(go.Scatter(x=[1, 2], y=[1, 2], name="(5,1)"), row=5, col=1)
fig.update_xaxes(matches='x')
fig.update_xaxes(showgrid=False, row=1, col=1)
fig.update_xaxes(showgrid=False, row=1, col=2)
fig.update_xaxes(showgrid=False, row=3, col=1)
fig.update_xaxes(showgrid=False, row=4, col=2)
fig.update_xaxes(showgrid=False, row=5, col=1)
fig.update_yaxes(title_text='Plant Power (MW)', showgrid=False, zeroline=False, row=1, col=1, secondary_y=False)
fig.update_yaxes(title_text='Cumulative Energy Loss (MWh)', showgrid=False, zeroline=False, row=1, col=1, secondary_y=True)
fig.update_yaxes(title_text='Ambient Temperature (ยฐC)', showgrid=False, zeroline=False, row=1, col=2)
fig.update_yaxes(title_text='Irradiance (W/m<sup>2</sup>)', showgrid=False, zeroline=False, row=3, col=1)
fig.update_yaxes(title_text='Wind Speed (m/s)', showgrid=False, zeroline=False, row=4, col=2)
fig.update_yaxes(title_text='Inverter AC Power (kW)', showgrid=False, zeroline=False, row=5, col=1)
fig.update_layout(
margin=dict(
l=0,
r=0,
b=0,
t=20,
pad=0,
autoexpand=True
),
paper_bgcolor='rgb(44, 58, 58)',
plot_bgcolor='rgb(200, 58, 58)',
font=dict(
color='rgb(235, 232, 229)',
family='Arial',
size=12
),
)
config = {
'displaylogo': False
}
fig.show(config=config)