如何修改Plotly Choropleth地图国界线粗细、颜色、样式及排查配置不生效问题
问题原因
go.Choropleth 默认自带的面要素描边优先级高于 geo 层级的国界线配置,你看到的细灰色边线就是这个默认描边,它直接覆盖了你设置的粗黑国界线。同时你同时开启了 showsubunits(显示国内行政区划边界)和 showcountries(显示国界线),两类边界重叠也会干扰最终显示效果。
解决方案
- 给
go.Choropleth添加marker参数,关闭默认的面描边 - 按需调整行政区划边界的显示开关,避免和国界线冲突
修改后的代码如下:
map_fig_layout = {'coloraxis_colorbar': {'title': 'População (%)', 'thickness': 20, 'ticklabelposition':'outside bottom'}, 'margin': {'r':0, 'l':0, 't':0, 'b':0}, 'template': 'plotly_dark', 'geo':{'projection': go.layout.geo.Projection(type ='natural earth'), 'landcolor': '#262626', 'showcountries':True, # 如果不需要显示国内省/州界,可删除下面两行配置 'showsubunits':True, 'subunitcolor': 'gray', 'subunitwidth': 1, # 如需更精细的国界线,可将resolution改为50,加载速度会稍慢 'resolution':110, 'visible':True, 'countrywidth': 4, 'countrycolor' : 'black'}, 'uirevision':'not_tracked_key'} map_graph = go.Figure({'data':[ go.Choropleth(locations = dff['Code'], z = dff['população_%'], hovertext = dff['Entity'], zmin = 0, zmax = 100, colorscale = make_colorscale( ['#F53347','#E6C730','#2FF5A8'] ), geo = 'geo', # 新增此行关闭默认面描边 marker = {'line_width': 0} ) ], 'layout': map_fig_layout})
修改前生成的地图效果:
内容的提问来源于stack exchange,提问作者Bruno Araujo
相关产品推荐
相关产品推荐

