如何摆脱Choropleth的白色背景?

yts*_*s61 1 python dictionary plotly

我正在使用 Potly Dashboard 构建仪表板。我使用的是深色引导程序主题,因此我不想要白色背景。

但是,我的地图现在看起来像这样:

我的地图

生成它的代码如下所示:

trace_map = html.Div(
    [
        dcc.Graph(
            id = "map",
            figure = go.Figure(
                data=go.Choropleth(
                locations=code, # Spatial coordinates
                z = df.groupby(['month']).sum()['Sales'].astype(int), 
                locationmode = 'USA-states',
                colorscale = 'Reds',
                colorbar_title = "USD",
            ), layout = go.Layout(title = 'The Cities Sold the Most Product',
                                  font = {"size": 9, "color":"White"},
                                  titlefont = {"size": 15, "color":"White"},
                                  geo_scope='usa',
                                  margin={"r":0,"t":40,"l":0,"b":0},
                                  paper_bgcolor='#4E5D6C',
                                  plot_bgcolor='#4E5D6C',
                                  )
            )
        )
    ]
)
Run Code Online (Sandbox Code Playgroud)

我试过了paper_bgcolorplot_bgcolor但无法使它工作。

理想情况下,我想实现此图像的外观(请忽略红点): 在此处输入图片说明

ves*_*and 5

一般来说:

fig.update_layout(geo=dict(bgcolor= 'rgba(0,0,0,0)'))
Run Code Online (Sandbox Code Playgroud)

在你的具体例子中:

go.Layout(geo=dict(bgcolor= 'rgba(0,0,0,0)')
Run Code Online (Sandbox Code Playgroud)

阴谋:

在此处输入图片说明

代码:

import plotly.graph_objects as go

fig  = go.Figure(
                data=go.Choropleth(
                #locations=code, # Spatial coordinates
                #z = df.groupby(['month']).sum()['Sales'].astype(int), 
                locationmode = 'USA-states',
                colorscale = 'Reds',
                colorbar_title = "USD",
            ), layout = go.Layout(geo=dict(bgcolor= 'rgba(0,0,0,0)'),
                                  title = 'The Cities Sold the Most Product',
                                  font = {"size": 9, "color":"White"},
                                  titlefont = {"size": 15, "color":"White"},
                                  geo_scope='usa',
                                  margin={"r":0,"t":40,"l":0,"b":0},
                                  paper_bgcolor='#4E5D6C',
                                  plot_bgcolor='#4E5D6C',
                                  )
            )

fig.show()
Run Code Online (Sandbox Code Playgroud)

您可能还想更改湖泊的颜色。但请注意,设置lakecolor = 'rgba(0,0,0,0)'将使湖泊具有与州相同的颜色,而不是与背景相同的颜色。所以我会和lakecolor='#4E5D6C'. 你当然可以做同样的事情bgcolor,但将其设置为'rgba(0,0,0,0)'获得摆脱白色,你特别要求的。

湖色图:

在此处输入图片说明

湖色代码:

import plotly.graph_objects as go

fig  = go.Figure(
                data=go.Choropleth(
                #locations=code, # Spatial coordinates
                #z = df.groupby(['month']).sum()['Sales'].astype(int), 
                locationmode = 'USA-states',
                colorscale = 'Reds',
                colorbar_title = "USD",
            ), layout = go.Layout(geo=dict(bgcolor= 'rgba(0,0,0,0)', lakecolor='#4E5D6C'),
                                  title = 'The Cities Sold the Most Product',
                                  font = {"size": 9, "color":"White"},
                                  titlefont = {"size": 15, "color":"White"},
                                  geo_scope='usa',
                                  margin={"r":0,"t":40,"l":0,"b":0},
                                  paper_bgcolor='#4E5D6C',
                                  plot_bgcolor='#4E5D6C',
                                  )
            )

fig.show()
Run Code Online (Sandbox Code Playgroud)

我们也可以改变州边界的颜色,或者subunitcolor在这种情况下更隐晦地知道。为了更好地匹配您想要的最终结果,我们还可以为地色增添趣味:

州边界和州颜色,情节:

在此处输入图片说明

州边界和州颜色,代码:

import plotly.graph_objects as go

fig  = go.Figure(
                data=go.Choropleth(
                #locations=code, # Spatial coordinates
                #z = df.groupby(['month']).sum()['Sales'].astype(int), 
                locationmode = 'USA-states',
                colorscale = 'Reds',
                colorbar_title = "USD",
            ), layout = go.Layout(geo=dict(bgcolor= 'rgba(0,0,0,0)', lakecolor='#4E5D6C',
                                          landcolor='rgba(51,17,0,0.2)',
                                          subunitcolor='grey'),
                                  title = 'The Cities Sold the Most Product',
                                  font = {"size": 9, "color":"White"},
                                  titlefont = {"size": 15, "color":"White"},
                                  geo_scope='usa',
                                  margin={"r":0,"t":40,"l":0,"b":0},
                                  paper_bgcolor='#4E5D6C',
                                  plot_bgcolor='#4E5D6C',
                                  )
            )

fig.show()
Run Code Online (Sandbox Code Playgroud)

  • @yts61 我自己没怎么用过“dcc.Graph”。但如果你将 `geo=dict(bgcolor= 'rgba(0,0,0,0)')` 放入 `go.Layout` 定义中,它应该可以正常工作。 (2认同)