The commented out line is my best guess.
def _make_json(self, given_panda: pd.DataFrame, sort_by: str) -> str:
figure = px.scatter_mapbox(given_panda,
hover_name='City',
hover_data=['State', 'Average_Low', 'Average_High', 'Latitude', 'Longitude', 'Record_Low', 'Record_High', 'Wind', 'Elevation', 'Humidity', 'Total_Precip'],
color=sort_by,
color_continuous_scale=px.colors.sequential.Plasma,
zoom=3.4,
opacity=1,
lat='Latitude',
lon='Longitude',
center={'lat': 37.0902, 'lon': -95.7129},
mapbox_style='carto-darkmatter')
figure.update_layout(margin = {'r':0,'t':0,'l':0,'b':0})
#figure.update(layout = dict(legend = dict(bgcolor = 'red')))
return figure.to_json()
Here is something that might be helpful https://plotly.com/python/reference/#layout-showlegend
You were pretty close. Just use:
fig.update_layout(legend = dict(bgcolor = 'yellow'))
And you'll get:
Complete code:
import plotly.express as px
df = px.data.gapminder().query("continent=='Oceania'")
fig = px.line(df, x="year", y="lifeExp", color='country')
fig.update_layout(showlegend=True)
fig.update_layout(legend = dict(bgcolor = 'yellow'))
fig.show()