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

echarts4r自定义地图添加城市散点未显示,如何解决?

解决echarts4r地理地图散点不显示的问题

你的问题出在散点坐标的传递方式错误,以及对echarts4r中e_scatter结合geo坐标系的用法理解有误。以下是修正方案:

修正后的代码

library(echarts4r)
library(httr)

url <- paste0("https://service.pdok.nl/cbs/gebiedsindelingen/2024/wfs/v1_0?request=GetFeature&service=WFS&typeName=gebiedsindelingen:gemeente_gegeneraliseerd&outputFormat=json&version=2.0.0&srsname=urn:ogc:def:crs:EPSG::4326")

geo_data <- httr::GET(url) %>%
  httr::content()  

locations <- data.frame(
  name = c("Amsterdam", "Utrecht"),
  lon = c(4.9041, 5.1214),
  lat = c(52.3676, 52.0907)
)

# 修正后的绘图代码
locations |>
  e_charts(name) |>  # 使用非坐标列作为初始x轴(或直接留空e_charts())
  echarts4r::e_map_register("NL", geo_data) |>
  e_map(map = "NL", nameProperty = "statnaam") |>
  e_scatter(lon, lat, name = "City", symbol_size = 10, coord_system = "geo")

关键修正点

  1. 调整e_scatter的参数顺序:
    当使用coord_system = "geo"时,e_scatter需要明确传入**经度(lon)和纬度(lat)**作为前两个参数,这样echarts4r才能将散点映射到地理坐标系上。你之前的代码仅传入了lat,导致坐标映射错误。

  2. 修改e_charts的初始绑定列:
    不需要将lon绑定为笛卡尔坐标系的x轴(这会混淆地理坐标系的映射逻辑),改用非坐标列(如name)或直接调用e_charts()(不指定初始x轴),确保地理坐标系的优先级更高。

  3. 增大散点尺寸(可选):
    将symbol_size从5调整为10,让散点更易观察,避免因尺寸过小导致视觉上“消失”。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.01 13:22:44