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

Vega-Lite Choropleth地图数据过滤异常问题求助

Vega-Lite全球预期寿命地图过滤无数据问题排查方案

1. 国家/年份匹配问题

  • 国家名称不兼容:过滤特定国家(如中国)无数据时,优先检查健康数据与地图拓扑数据的国家标识符是否一致。很多时候健康数据用中文名称,而地图数据用ISO代码(如CHN)或英文名称,导致关联失败。
    • 修复:统一使用ISO 3166-1 alpha-3代码作为关联键,修改健康数据和地图数据的对应字段,确保两者匹配。
  • 年份过滤类型错误:即使已验证年份是整数,若过滤时误用字符串(比如写成"2001"而非2001),会导致逻辑失效。
    • 修复:确保过滤语法使用整数比较,示例:
      {"filter": {"field": "year", "gte": 2001}}
      

2. 数据关联逻辑缺失

若未正确将健康数据与地图数据通过键值关联,仅2000年显示可能是巧合的默认匹配,其他年份无法关联到地图要素。

  • 修复:在transform中添加lookup关联,将健康数据按国家代码匹配到地图的几何信息,示例:
    {
      "data": {"name": "health_data"},
      "transform": [
        {"lookup": "country_code", "from": {"data": {"name": "world_map"}, "key": "iso_3", "fields": ["geometry"]}},
        {"filter": {"field": "year", "eq": 2001}}
      ],
      "mark": "geoshape",
      "encoding": {
        "color": {"field": "life_expectancy", "type": "quantitative"}
      }
    }
    

3. 数据缺失或空值问题

2001年及以后的部分国家可能没有预期寿命数据,过滤后无有效数据显示。

  • 修复:在过滤时排除空值,示例:
    {"transform": [
      {"filter": {"and": [
        {"field": "year", "gte": 2001},
        {"field": "life_expectancy", "valid": true}
      ]}}
    ]}
    

4. 默认筛选逻辑干扰

未添加过滤时默认显示2000年,可能是配置中存在默认的年份筛选规则,覆盖了其他年份数据。

  • 修复:检查transform或selection中的默认筛选条件,移除或调整为动态可选的逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 23:37:23