【问题标题】:Choropleth Map color scale based on row count基于行数的 Choropleth 地图色标
【发布时间】:2021-05-27 17:44:01
【问题描述】:

我正在使用 Python 和 Dash 创建一个 Web 应用程序,并使用 ISO_ALPHA 值创建了一个等值线图。

使用回调我过滤了数据,这当然会更新地图,效果很好。但是,我想添加一个色阶,而不是基于单元格值,我希望它基于每个国家的行数。这旨在显示每个国家/地区有多少玩家

代码

    #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

提前谢谢你

【问题讨论】:

    标签: python color-scheme choropleth


    【解决方案1】:

    不确定是否有更有效的方法,但设法找到了一个解决方案(见下文),该解决方案将创建一个新列“计数”并根据国家代码的计数添加计数值。

    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
    

    【讨论】:

      猜你喜欢
      • 2020-11-08
      • 2017-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-16
      • 1970-01-01
      相关资源
      最近更新 更多