簡體   English   中英

如何擺脫Choropleth的白色背景?

[英]How to get rid of the white background of Choropleth?

我正在使用 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',
                                  )
            )
        )
    ]
)

我嘗試過paper_bgcolorplot_bgcolor但無法使其工作。

理想情況下,我想實現此圖像的外觀(請忽略紅點): 在此處輸入圖片說明

一般來說:

fig.update_layout(geo=dict(bgcolor= 'rgba(0,0,0,0)'))

在你的具體例子中:

go.Layout(geo=dict(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)'),
                                  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()

您可能還想更改湖泊的顏色。 但請注意,設置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()

我們也可以更改狀態邊界顏色,或者在這種情況下更subunitcolor地稱為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()

我在這里找到了方法,因為我想更改 Choroplethmapbox 的主題。 接受的解決方案有所幫助,但最終我發現下面的代碼適用於我的情況:

實例化圖形

fig = go.Figure()

添加一些痕跡

fig.add_trace(go.Choroplethmapbox(geojson=data_for_choropleth_geojson, 
                                  locations=data_for_choropleth['fips'],
                                  z=data_for_choropleth['total_population'],
                                  featureidkey='properties.fips'
                              ))

最后,使用 update_layout 更改主題

fig.update_layout(
    hovermode='closest',
    mapbox=dict(
                # style options: "basic", "streets", "outdoors", 
                # "dark", "satellite", or "satellite-streets","light"
                # "open-street-map", "carto-positron", 
                # "carto-darkmatter", "stamen-terrain", 
                # "stamen-toner" or "stamen-watercolor"
                style='light',
                bearing=0,
                pitch=0,
                accesstoken=TOKEN,
                zoom=5,
                center=dict(
                    lat=29.4652568,
                    lon=-98.613121
        )
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM