[英]Choropleth Map color scale based on row count
我正在使用 Python 和 Dash 創建一個 web 應用程序,並使用 ISO_ALPHA 值創建了一個等值線 map。
使用回調我過濾了數據,這些數據當然會更新 map,效果很好。 但是,我想添加一個色階,而不是基於單元格值,我希望它基於每個國家的行數。 這旨在顯示每個國家/地區有多少玩家
代碼
#call back to update map
@app.callback(
Output(component_id='player_map', component_property='figure'),
[Input(component_id='select_list', component_property='value')]
)
def display_map(list_selected):
dff_map = df_map[df_map.band==list_selected]
fig = px.choropleth(dff_map, locations='iso_alpha', hover_name='iso_alpha')
fig.update_geos(fitbounds="locations")
return fig
先感謝您
不確定是否有更有效的方法,但設法找到了一個解決方案(見下文),它將創建一個新列“計數”並根據國家代碼的計數添加計數值。
def display_map(list_selected):
dff_map = df_map[df_map.band==list_selected]
# make a dict with counts
count_dict = {d:(dff_map['iso_alpha']==d).sum() for d in dff_map.iso_alpha.unique()}
# assign that dict to a column
dff_map['count'] = [count_dict[d] for d in dff_map.iso_alpha]
fig = px.choropleth(dff_map, locations='iso_alpha', hover_name='iso_alpha', color='count')
fig.update_geos(fitbounds="locations")
return fig
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.