You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter中Highcharts Maps绘制法国省份地图遇问题及转TileMap需求

法国省份分级统计图(Choropleth)问题解决方案

1. 修复Geometry信息丢失问题

用geopandas加载GeoJSON后,得把几何数据和属性数据分开传给Highcharts,不能只传属性列:

  • 先把GeoDataFrame转成Highcharts兼容的MapData格式:
    map_data = df.geometry.to_json()
    
  • 创建图表时,同时指定data(带省份ID和数值的属性数据)和mapData(几何数据),通过joinBy关联两者的共同ID字段(比如省份编码):
    my_chart = HighchartsChart(
        options={
            'series': [{
                'type': 'map',
                'data': df[['code', 'value']].to_dict('records'),
                'mapData': map_data,
                'joinBy': 'code'  # 这个字段要和data、mapData里的键匹配
            }]
        }
    )
    

2. 解决Highcharts.js加载错误与PNG导出失败

Jupyter里直接用官方CDN加载完整的Highcharts依赖包,避免本地加载路径问题:

  • 在Notebook最开头加这段代码:
    from IPython.display import display, HTML
    display(HTML('''
    <script src="https://code.highcharts.com/highcharts.js"></script>
    <script src="https://code.highcharts.com/maps/modules/map.js"></script>
    <script src="https://code.highcharts.com/maps/modules/exporting.js"></script>
    <script src="https://code.highcharts.com/maps/modules/offline-exporting.js"></script>
    '''))
    
  • 必须加载exporting和offline-exporting模块才能正常导出PNG。如果还是失败,检查Notebook的网络是否能访问CDN资源。

3. 解决Tilemap转换无效问题

直接改series_type='tilemap'没用,因为Tilemap需要网格瓦片格式的数据,和你现在用的省份矢量边界数据不兼容:

  • 如果只是想调整地图样式,比如让区块更紧凑,直接改map系列的样式参数就行,比如:
    'series': [{
        'type': 'map',
        # 其他配置...
        'borderWidth': 0.5,
        'borderColor': '#fff',
        'states': {'hover': {'color': '#a4edba'}}
    }]
    
  • 要是确实需要做Tilemap,得重新准备瓦片数据(每个瓦片带x/y坐标和对应数值),再配置:
    my_chart = HighchartsChart(
        options={
            'series': [{
                'type': 'tilemap',
                'data': tile_data,  # 瓦片格式的数据集
                'tileShape': 'hexagon'  # 可选正方形(square)或六边形(hexagon)
            }]
        }
    )
    

内容的提问来源于stack exchange,提问作者Nicolas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 15:22:36