簡體   English   中英

在 plotly 等值表 map 上選擇 hover

[英]Selecting hover on plotly choropleth map

我目前正在使用來自 plotly.express 的等值線進行一個 map 項目,這個 map 結合了兩條軌跡:一個是等值線 map,其面積由 colors 定義,第二個是覆蓋某些選定國家(並非全部)的氣泡。

我有兩個數據框,一個帶有 iso alpha-3 代碼和它們所屬的區域(這將定義地圖上的顏色),第二個帶有一些國家的一些客戶(一次 iso alpha-3 代碼再次)

我設法合並了兩張地圖,但我只希望第二張地圖的“懸停”用於所選國家(因此當我的 cursor 轉到該國家/地區的相關點時)並使用 hovermode=False 禁用 map 上的所有懸停...有沒有辦法將我們想要的 select 和 hover 禁用,而不刪除所有內容?

fig = px.choropleth(df, locations="alpha-3",
                color="sub-region",
                color_discrete_map= {"Middle East and Africa":"#2a7bb0",
                                        "Europe":"#fc5e61",
                                        "Asia":"#00a19c",
                                        "Northern America":"#00134d",
                                        "Russia and Central Asia": "#febec0",
                                        "Latin America and the Caribbean":"#99a1b8"})


fig.update_layout(width=1500, height=1000, margin={"r":0,"t":0,"l":0,"b":0}, hovermode=False)
fig.update_geos(projection_type="mercator", visible=False)
fig.update_traces(marker_line_width=0)

fig2 = px.scatter_geo(dfa, locations="alpha-3", size="actors")
fig.add_trace(fig2.data[0])




aPlot = plotly.offline.plot(fig,
                        config={"displayModeBar": False},
                        show_link=False,
                        include_plotlyjs=False,
                        output_type='div')

fig 是 choropleth map,fig2 是圓 map。hovermode=False 在合並前設置,但它不起作用。 我試圖用 fig 更新 fig2 但沒有顯示圓圈......我現在對如何只從 fig2 獲得 hover 毫無頭緒......

編輯:這是數據幀的片段:

                     name alpha-3  country-code  region              sub-region
0                Zimbabwe     ZWE           716  Africa  Middle East and Africa
1                  Zambia     ZMB           894  Africa  Middle East and Africa
2            South Africa     ZAF           710  Africa  Middle East and Africa
3                   Yemen     YEM           887    Asia  Middle East and Africa
4                Viet Nam     VNM           704    Asia                    Asia

                        name  ...                                Actors
0               South Africa  ...                                NameOfAnActor

好的,所以我將分享我如何處理這個不完美的問題,但它可能會有所幫助。 “解決方案”是通過在 choropleth map 變量中使用 hover_data 禁用它們來刪除第一個圖中的每個數據:

hover_data={"alpha-3":False,"sub-region":False}

這個解決方案並不完美,因為每個國家/地區的指針仍然存在,但至少除了氣泡之外沒有顯示任何內容......

暫無
暫無

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

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