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

Plotly Cufflinks:英国邮政区热力图locations与locationmode参数参考查询

解决Plotly Cufflinks英国邮政区热力图的locations和locationmode参数问题

嘿,我之前在做英国区域可视化的时候也碰到过这个困惑,给你几个实用的思路:

  • 先搞清楚Plotly底层的参数逻辑:Cufflinks是封装Plotly的工具,所以locationmode的可选值和Plotly原生的完全一致。官方文档里明确列出的locationmode选项包括:

    • 'ISO-3':国家/地区的三位ISO代码(只适合国家层面)
    • 'USA-states':美国州级地理标识(对你没用)
    • 'country names':国家全称(同样不适合城镇/邮政区)
    • 'geojson-id':这才是你需要的!当你使用自定义GeoJSON文件时,用这个选项来匹配GeoJSON里的id字段和你数据中的locations值。
  • 为什么你搜不到直接的英国邮政区选项?:Plotly默认没有内置英国城镇或邮政区的地理数据集,所以必须自己导入对应的GeoJSON文件。比如英国国家统计局(ONS)提供了官方的邮政区GeoJSON数据,你可以下载后在代码中加载。

  • 具体怎么设置?:

    1. 拿到英国邮政区的GeoJSON文件(比如包含每个邮政区代码和边界的文件)
    2. 在Cufflinks的data字典里,除了基础参数,还要补充geo相关设置:
      import cufflinks as cf
      import json
      
      # 加载GeoJSON文件
      with open('uk_postcodes.geojson') as f:
          uk_geojson = json.load(f)
      
      # 定义热力图数据
      data = dict(
          type='choropleth',
          locations=你的邮政区代码列表,  # 要和GeoJSON里的id字段完全匹配
          locationmode='geojson-id',
          geojson=uk_geojson,
          colorscale='Viridis',
          text=你的城镇名称/描述列表,
          z=你的热力值列表,
          colorbar=dict(title='热力值')
      )
      
      # 生成图
      fig = cf.Figure(data=[data])
      fig.update_geos(fitbounds="locations", visible=False)
      fig.show()
      
  • 额外的参考渠道:

    • 直接查看Cufflinks的GitHub仓库示例,里面有不少自定义GeoJSON的choropleth案例
    • 搜索Plotly社区里的英国区域可视化帖子,很多人分享过现成的GeoJSON资源和代码片段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:27:36