2

注释掉的行是我最好的猜测。

    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()

这可能会有所帮助 https://plotly.com/python/reference/#layout-showlegend

4

2 回答 2

5

你非常接近。只需使用:

fig.update_layout(legend = dict(bgcolor = 'yellow'))

你会得到:

在此处输入图像描述

完整代码:

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()
于 2020-06-24T10:41:04.887 回答
2

根据你填写值

import plotly.express as px
tips = px.data.tips()
fig = px.bar(tips, x='sex', y='total_bill',
             color='smoker', barmode='group')

fig.update_layout({
'plot_bgcolor': 'rgba(0, 0, 0, 0)',
'paper_bgcolor': 'rgba(0, 0, 0, 0)',
})

fig.show()
于 2020-06-23T02:44:57.323 回答