使用Altair绘制英国Choropleth分级统计图时出现显示异常问题
Altair绘制英国分级统计图显示异常排查方案
- 第一步:排查坐标系不匹配问题
你使用的ArcGIS英国区域数据源默认采用英国国家网格(OSGB36 / EPSG:27700)投影,不是Altair默认支持的WGS84(EPSG:4326)经纬度坐标系,这是导致底图显示错乱的核心原因。可通过geopandas完成坐标转换后再传入Altair绘图,示例代码如下:
import geopandas as gpd # 读取本地保存的英国区域GeoJSON文件 geo_uk = gpd.read_file("你的本地GeoJSON文件路径") # 转换为Altair适配的WGS84坐标系 geo_uk_wgs84 = geo_uk.to_crs("EPSG:4326")
- 第二步:添加投影适配配置
转换坐标系后,可手动指定Altair的投影参数适配英国区域范围,避免默认缩放/中心坐标不合适导致的显示不全问题,完整绘图代码参考:
import altair as alt _map = alt.Chart(geo_uk_wgs84, title='UK Map').mark_geoshape( fill='lightgray', stroke='white' ).encode().properties( width=500, height=300 ).project( type='mercator', scale=2500, center=[-2, 54.5] )
- 第三步:验证数据源有效性
如果上述操作后仍然异常,先通过geopandas内置的绘图方法验证数据源本身是否完整:geo_uk_wgs84.plot(),如果能正常渲染英国轮廓,即可排除数据源损坏问题,再进一步检查Altair版本是否为最新版,旧版本可能存在地理绘图兼容性bug。
内容的提问来源于stack exchange,提问作者Adham Enaya
相关产品推荐
相关产品推荐

