D3:如何处理单个图表中的缩放和工具提示?

2024-02-12

我有一个可视化,本质上是一系列堆叠的条形图,每个条形图包含多个面板。例如,here https://i.stack.imgur.com/IAX6o.png是三个这样的条形图,每个都有四个面板。

我已经成功实现了跨图表协调的平移/缩放功能。This https://i.stack.imgur.com/NgDLI.png例如,如果我放大最后一张图像的第三个面板,就会看到这样的情况。缩放行为是从放置在每个图表上的不可见矩形调用的。

我的问题是我想根据用户光标在绘图中的位置启用工具提示功能。然而,由于缩放矩形放置在图表顶部,因此不会为实际图表本身中的任何 SVG 元素注册鼠标事件。

有谁知道解决这个问题的方法吗?


我正在关注迈克·博斯托克的例子 https://bl.ocks.org/mbostock/4e3925cdc804db257a86fdef3a032a45,就像你放置一个rect穿过我的整个图表,然后调用缩放行为,就像您发现的那样,它正在消耗所有指针事件。

我找到了一个example https://bl.ocks.org/saifulazfar/f2da589a3abbe639fee0996198ace301在这里,这似乎实现了我想要的,我发现如果我放弃rect并且只是调用缩放行为svg直接元素,我仍然收到子元素的指针事件。

我是这里的菜鸟,我真的不明白为什么这有效。我还猜想这可能有其自身的影响,例如我想这会阻止您限制鼠标事件导致缩放的图形区域。您可能会注意到我链接的示例创建了一个sub-svg;我不知道,但也许这是为了解决这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

D3:如何处理单个图表中的缩放和工具提示? 的相关文章

随机推荐

  • 两个 TCP/IP 套接字 send() 请求实际上在一个 TCP 消息中处理

    我的 C 程序中有两个 send 查看wireshark 我意识到它们是作为一条 TCP IP 消息发送出去的 我假设这是某种 TCP IP 优化 确定它们足够小 可以一起发送 然而 我正在从头开始重建一个旧程序 并且我正在基于它的 TCP
  • 圣杯。 JSON。他的方法?

    我彻夜未眠寻找有关如何使用的信息JSON in Grails 我找到了信息JSON closure 我们只能使用一种方法 array 没有其他 这是真的吗 下一个小问题 我在这里找到 http www jiramot info mini g
  • 无法在 ruby​​ on Rails 上访问本地主机

    当我运行服务器并转到localhost 3000我收到此错误 ActiveRecord ConnectionNotEstablished 没有带 id 的连接池 主要发现 有问题的代码 activerecord 5 0 0 lib acti
  • 如何在 Symfony 中将实体导出为 CSV?

    我使用以下代码输出 CSV 但运行时出现空白屏幕 基本上我的困惑在于 DoctrineORMQuerySourceIterator 因为我不明白如何正确使用它 我假设我必须列出属性名称 我正在使用索纳塔导出器 https github co
  • 在 Elastic Search 中模拟字段折叠/按字段分组

    Elastic Search 目前 自 0 18 4 起 不支持字段折叠 有没有一个好的方法来模拟这个 以避免N搜索查询 可能不是您正在寻找的答案 但是 据我所知 并且根据this https github com elasticsearc
  • 在 powerbi 中使用相同的过滤器过滤两个表

    我有两个表显示 PowerBI 中的国家 地区数据 一个表包含不同国家 地区的销售数据 另一个表显示每个国家 地区的统计数据 然后我有一个仪表板 其中包含每个表的图表 我想要一个过滤器来过滤两个表中的国家 地区列 即 如果我过滤美国 我将得
  • 编译 32 位二进制文​​件:'__int128' 之前应有非限定 ID

    我正在努力将我的代码移植到 Mac 它可以在我的 64 位 Windows 机器上正常编译 显然我正在使用的库之一 Awesomium 没有编译为 64 位代码 因此我必须将代码编译为 32 位二进制文 件 我在尝试使用 GCC 4 8 编
  • 嵌套组件内的 React.memo 从不调用 areEqual,总是重新渲染

    我突然好奇 React memo 今天的表现如何 看来 React memo 不能在嵌套函数组件中工作 但可以在组件主返回和返回 React memo 组件的嵌套函数中工作 这是预期的行为还是有其他方法使 React memo 与嵌套功能组
  • 用C画形状时用什么?

    我一直遇到一些问题 试图弄清楚 header 对于设法获取屏幕并使用 C 在其中绘制形状很有用 尝试使用 graphics h 但对我不起作用 我想 graphics h 可能应该在 C 中使用 而不是在 C 中使用 我真的不知道 如果有人
  • 接受vertx api中相同键的参数列表

    如何在路由器 GET 方法中接受同一键中的参数列表 例如 我的查询参数名称为 personId 但在 get 请求中 可能会出现多个 列表 personId 如何在 vertx 中处理这个问题 我在中找不到任何这样的方法HttpServer
  • PyQt 文件浏览 - 设置默认选项?

    我一直在尝试在我正在设计的 GUI 中实现一个文件浏览小部件 我正在使用 QFileDialog 模块 它工作得很好 我可以使用以下代码行浏览和保存文件 filenames QFileDialog getOpenFileName 我的小部件
  • 将所有“/”替换为 File.separator

    在Java中 当我这样做时 a b c d replaceAll 我回来了 a b c d 但是当我这样做时 a b c d replaceAll File separator 它抛出 StringIndexOutOfBoundsExcep
  • 从 mongodb 中删除重复的数组值

    在 mongodb 中 我有一个集合 其中数组具有重复的条目 例如 id ObjectId 57cf3cdd5f20a3b0ba009777 Chat 6 string 1348157031 Riyadh 548275320 Mohamma
  • 如何禁用 jqueryui datepicker 中的 Enter 键

    我正在使用 jQueryUI 日期选择器 当用户单击文本框并按 Enter 键时 将填充当前日期 我想避免这种情况 我已经尝试过这个 datepicker on keypress function e if e which 13 e pre
  • 有没有用Python编写的好的构建框架?

    我从 NAnt 切换到使用 Python 来编写构建自动化脚本 我很好奇是否有任何值得使用的构建框架类似于 Make Ant 和 NAnt 但它们是基于 Python 的 例如 Ruby 有 Rake 那么Python呢 Try SCons
  • 设备旋转时丢失“MediaPlayer”(及其他变量)

    我正在为 Android 创建一个音乐播放器 它基本上可以工作 问题是 当我水平转动设备时 我会丢失 Activity 中的所有变量 这是有道理的 因为它被销毁并重新创建 我尝试使用捆绑包通过 onSaveInstanceState 和 o
  • 在调用另一个 JSON 之前删除 Leaflet 地图中的所有数据/标记

    我正在检索不同的数据以使用不同的 JSON 文件标记传单地图 每个单选按钮都会检索不同的 JSON 文件 但是 当我选择不同的单选按钮时 我无法清除标记 所有标记只是从一个 JSON 文件添加到另一个 JSON 文件 当我选择不同的单选按钮
  • 无需事务日志即可恢复 SQL Server 数据库

    Given a SQL Server 2008 bak文件 有办法恢复吗仅数据文件来自 bak file 没有事务日志 我问的原因是该数据库的事务日志文件大小很大 超出了我可用的磁盘空间 我对交易日志不感兴趣 对任何未完成的交易也不感兴趣
  • 有 YAML 数据库吗?

    我非常喜欢 YAML 的数据模型 它保留了 JSON 的大部分简单性 并通过一些有时很重要的功能 例如自定义数据类型和引用 对其进行了扩展 那么有没有什么方法可以在 YAML 数据模型 或非常类似的东西 中存储大量数据并使用索引对其进行查询
  • D3:如何处理单个图表中的缩放和工具提示?

    我有一个可视化 本质上是一系列堆叠的条形图 每个条形图包含多个面板 例如 here https i stack imgur com IAX6o png是三个这样的条形图 每个都有四个面板 我已经成功实现了跨图表协调的平移 缩放功能 This