Plotly 等值线图有漏洞

Plotly chroropleth map has holes

我希望使用 Plotly express chloropleth 地图绘制法国选举结果。

为此,我使用了一个数据集作为结果 (stable link) and another for the GeoJSON data of France territory (stable link)。

代码如下:

import geopandas as gpd
import pandas as pd
import plotly.express as px

t1 = pd.read_csv('p2022-resultats-departement-t1.csv')
geo = gpd.read_file('a-dep2021.json')

px.choropleth_mapbox(t1,
                     locations='CodeDépartement',
                     geojson=geo,
                     mapbox_style='carto-positron',
                     center={'lat': 47.7516, 'lon': 1.6751},
                     zoom=4).update_layout(margin={'l': 10, 'r': 10, 't': 10, 'b': 10})

但是我得到的情节有漏洞:

我首先想到这个问题可能是 GeoJSON 文件数据中的问题,但我用 mapshaper 检查了一下,一切正常。

我还检查了每个数据集,这些地区没有缺失数据。

有什么想法吗?

我认为地图丢失是因为数据框中的列信息以及地理文件中的关键信息和关联丢失。此外,如果将颜色设置绑定到特定列,则可以绘制 color-coded 地图。

import geopandas as gpd
import pandas as pd
import plotly.express as px

t1 = pd.read_csv('./data/p2022-resultats-departement-t1.csv')
geo = gpd.read_file('./data/a-dep2021.json')

fig = px.choropleth_mapbox(t1,
                           locations='CodeDépartement',
                           geojson=geo,
                           color='MACRON.exp',
                           featureidkey="properties.dep",
                           mapbox_style='carto-positron',
                           center={'lat': 47.7516, 'lon': 1.6751},
                           zoom=4
                          )
fig.update_layout(margin={'l': 10, 'r': 10, 't': 10, 'b': 10})
fig.show()