qq_54065101 2023-05-10 13:53 采纳率: 0%
浏览 52

echarts中geo3D结合scatter3D标注,点击或者hover区域跟实际显示大小不符合的问题

几天前出现的bug,无论把echarts中的scatter3D的标点设置多大 总是一小块区域鼠标事件有效,我重新写过一个demo,结果还是这问题,我把scatter3D的所有属性几乎都试了一遍还是不行,官网上的示例没有用过geo3D,有没有人也遇到过这个问题,或者说怎么解决,请大家解惑。

img

img

img

img

  • 写回答

1条回答 默认 最新

  • 技术宅program 2023-05-16 17:28
    关注

    根据你的描述,在使用ECharts绘制3D散点图(scatter3D)时,无论如何设置标点图形,鼠标事件响应区域总是很小的一块区域,这通常是ECharts的known issue导致的。
    相关issue参考:
    https://github.com/apache/echarts/issues/12043
    https://github.com/apache/echarts/issues/12921
    可能的解决方法有:

    1. 更新ECharts版本。目前ECharts v4.2.1版本已修复此问题,最新版本ECharts v4.9.0也未出现此问题,您可以尝试更新ECharts版本解决。
    2. 设置scatter3D的标点大小(symbolSize)尽量小。虽然设置symbolSize较大,但鼠标事件响应区域不随symbolSize改变,所以设置较小symbolSize可以减小视觉和交互的差异。
    3. 监听鼠标移动事件,在响应区域之外模拟执行事件。即在鼠标移出setOption设置的响应区域时,通过代码模拟触发鼠标点击/移入等事件,实现交互效果。
    4. 不使用scatter3D,改为使用geo3D绘制3D图形。geo3D图形的鼠标事件响应区域会随标点大小symbolSize改变,不会出现此问题。
    5. 等待ECharts进一步提升3D图形的交互体验。由于ECharts 3D图形实现相对复杂,鼠标事件精准计算也较为困难,需要依靠后续版本不断提高。

    综上,我的建议是:

    1. 首先尝试更新ECharts版本,确认问题是否得到修复。
    2. 如果更新版本后问题仍未解决,设置较小symbolSize值可以稍微缓解视觉差异。
    3. 监听鼠标事件,在响应区域外模拟触发交互,或使用geo3D替代scatter3D实现3D效果。
    4. 建议在ECharts GitHub repo提issue反馈问题,并说明解决方法效果不佳的情况,以催促开发者提高3D图形的鼠标交互支持。
    评论

报告相同问题?

问题事件

  • 创建了问题 5月10日

悬赏问题

  • ¥15 metamask如何添加TRON自定义网络
  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥30 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物
  • ¥15 osm下载到arcgis出错
  • ¥15 Dell g15 每次打开eiq portal后3分钟内自动退出
  • ¥200 使用python编写程序,采用socket方式获取网页实时刷新的数据,能定时print()出来就行。
  • ¥15 matlab如何根据图片中的公式绘制e和v的曲线图