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:如何处理单个图表中的缩放和工具提示? 的相关文章

  • 如何将选定的元素从 devTools 页面发送到 chrome 侧边栏页面

    我正在开发 chrome devTools 扩展 基本上 我在 元素 面板中添加了一个侧边栏窗格 开发工具 js chrome devtools panels elements createSidebarPane ChromeTrast f
  • React hooks 状态变量在重新渲染后未更新

    在下面的示例中 我有一个想要更新的元素 水果 数组 并使用更新后的数组执行其他操作 在本例中保存更新后的列表 我的理解是重新渲染状态将更新 但它不在这里 或者状态更新和我的操作之间存在延迟 In the addFruit功能我可以看到 Pe
  • 如何在 Lambda 中将对象上传到 S3?

    似乎无法将对象上传到 Lambda 中的 S3 本地一切正常 日志中没有错误可以显示出了什么问题 代码如下 console log Loading function var AWS require aws sdk var s3 new AW
  • 使用非常大的背景位置偏移是否存在性能问题?

    我正在构建一个进度条控件 并且正在研究它实际上并不显示进度 而只是旋转 正在发生某事 的指示器的情况 我的设计基本上是交替的对角条纹 本质上是一个像这样的理发杆 但是 旋转 由于希望将尽可能多的负载转移给渲染引擎 我想为此使用 CSS 过渡
  • 在 Cordova 中合并文件的多个部分

    在我的 Cordova 应用程序中 我正在下载任意文件 例如图像或视频文件 这是通过 Cordova 文件传输插件和 Range 标头完成的 因为我需要分段下载文件 我的问题是 我想将几 个小 字节 文件合并回原来的文件中 他们曾经在其中使
  • Twitter Bootstrap - 下拉菜单 - 箭头键不适用于 Firefox 中的输入标签

    要求 我想在带有用户名和密码字段的下拉菜单中放置一个登录表单 我可以做到这一点 除了以下问题之外 一切正常 Issue 打字时我无法使用箭头键 上 下 firefox 当输入位于下拉代码之外时 这很有效 这适用于其他浏览器 例如 googl
  • jslint 配置 |传递全局变量

    我如何提醒 jshint 我有全局变量 即命名它们 我知道你可以做到这一点 但我不记得语法了 我在这里定义了一个全局的 function window glob1 local var 稍后像这样使用 不同的 IIFE function gl
  • setTimeout范围问题

    我在控制玩家重生的函数内部定义了一个 setTimeout 我正在创建一个游戏 var player death function this alive false Console log death var timer3 setTimeo
  • 在 UIWebView 中禁用复制和粘贴

    几乎 我已经尝试了一切方法来禁用复制 粘贴UIWebView但对我来说没有任何作用 我正在加载我的UIWebView来自字符串 字符串数组 如下所示 webView loadHTMLString NSString stringWithFor
  • 如何将本地文本文件上传到文本区域(网页内)

    我是一名新手程序员 需要一些帮助来弄清楚如何将本地文本文件上传到我正在构建的网站内的文本区域 我非常精通 HTML CSS 对 Javascript JQuery 有相当的了解 而且我刚刚学习 PHP 您能提供的任何帮助我将不胜感激 我有一
  • jquery 中可点击 div 中的按钮

    我有整个 div 您可以单击它来切换该 div 的主要部分 问题是我在该 div 中也有可点击的按钮 当我点击它时 它会执行它应该做的事情 但同时也会切换整个 div 我怎样才能禁用它 Use event stopPropagation 单
  • 如何在打字稿中使用外部js

    我通过 Typescript 代码生成 Angular JS 代码 在一种情况下 我需要将外部 JS 文件添加到我的打字稿文件中 并且需要访问 js 文件中的类 我像这样添加js文件
  • 在 Chrome 开发者工具中禁用调试器语句

    我正在尝试对恶意 JavaScript 进行逆向工程 当我最初加载侧面时 会注入 JS 代码 其中包括 debugger 语句并将断点注入我的 chrome 开发人员控制台 通过stackoverflow阅读 禁用所有断点does not帮
  • 检查浏览器空闲的替代方法

    我有一个简单的网络信息亭 在鼠标未使用 jQuery 移动 30 秒后显示用户操作提示 var i null body wrap mousemove function clearTimeout i overlay fadeOut i set
  • 为什么我的 D3 SVG 图上的轴不会更新?

    I have 简单的 D3 散点图 http www raxacoricofallapatorius com test scattertest html我在显示数据的几个不同属性之间切换 但是虽然我可以更改数据点 并按照我想要的方式进行转换
  • 如果 jquery 验证激活,如何在单选按钮中放置红色边框[重复]

    这个问题在这里已经有答案了 我的问题是 如果 jquery 验证像示例图片中那样激活 我无法使单选按钮具有红色边框 任何人都可以帮我解决这个问题吗 http i38 photobucket com albums e149 eloginko
  • 如何将数据推送到嵌套对象

    如何将另一个元素推入variables来自以下对象的属性 var request name Name id 3 rules name Rule name tags tagId 1 variables variable var1 matchT
  • highchart堆积柱每个类别的总数据

    我想获取每个类别的总数据 这point stackTotal只给出活动数据的总数 从我粘贴的代码示例中 我想知道每种水果的总消耗量 因此 即使我单击右上角图例上的乔的名字 这使得堆叠图表上的所有乔信息都处于非活动状态 我仍然可以知道约翰 简
  • VS Code 扩展 - 获取完整路径

    我正在为 VS Code 编写一个插件 我需要知道调用扩展的文件的路径 无论是从编辑器上下文菜单或资源管理器上下文菜单调用还是用户只需键入扩展命令 function activate context get full path of the
  • 使用
    元素作为 JavaScript 代码的输入。这是最好的方法吗?

    各位 显然 我是编码新手 所以最近完成了一些有关 HTML 和 Javascript 的 Lynda 课程后 我的简单 HTML 页面遇到了困难 基本上 我想要的是使用 JavaScript 进行基本计算 让用户使用 HTML 输入两个数字

随机推荐

  • 两个 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