D3.js:使用鼠标滚轮滚动缩放 x 轴和数据

2024-03-09

我搜索了其他相关问题,但无论是因为我是 D3 新手,还是作为一名编码员生疏,我无法弄清楚这一点。

我有一个图表,我希望能够通过仅在 a 轴和数据上滚动鼠标滚轮来放大。现在,我的整个图表在鼠标滚轮的滚动上进行缩放,而不是仅在 x 轴上进行缩放。

编辑:这是我的最终目标,但也许有放大/缩小限制(不过一次一件事):http://mbostock.github.com/d3/talk/20111018/#15 http://mbostock.github.com/d3/talk/20111018/#15

看起来这里发布了该示例的代码:https://github.com/mbostock/d3/blob/master/examples/zoom-pan/zoom-pan-transform.html https://github.com/mbostock/d3/blob/master/examples/zoom-pan/zoom-pan-transform.html

graph.attr("transform", "translate(" + d3.event.translate + ")" + " scale(" + d3.event.scale + ")");

到目前为止我已经把我的代码放在这里:http://jsfiddle.net/toddsherman/x3uWK/ http://jsfiddle.net/toddsherman/x3uWK/

任何见解或方向表示赞赏。


部分答案,在源代码中作为参考给出的 jsfiddle 中,有:

chart.select(".xaxis").call(xAxis);
chart.select(".yaxis").call(yAxis);

这指的是您可能感兴趣的事情:

xAxis = d3.svg.axis().scale(x);
yAxis = d3.svg.axis().scale(y).orient("left");

x 和 y 似乎是缩放函数:

var x = d3.time.scale().domain([minDate, maxDate]).range([0, graph_width]);

var y = d3.scale.linear()
    .domain([0, max_val])
    .range([graph_height, 0]);

此外,缩放功能还有不同的转换:

chart.selectAll(".chart rect").attr("transform", "translate(" + d3.event.translate[0] + ",0)scale(" + d3.event.scale + ", 1)");

平移参数只是 X 轴和 Y 轴的 0 值。 比例参数仅包含 X 轴和 Y 轴 1 值。

也就是说,我不太确定如何提供更多帮助

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

D3.js:使用鼠标滚轮滚动缩放 x 轴和数据 的相关文章

  • Firefox 中的 jQuery 表单提交

    请帮我解决一个问题 我有这个代码 用于通过锚点提交表单
  • 在复选框内映射复选框 ReactJS

    我有一个函数 一旦主复选框被选中 就会触发子复选框 并且所有这些复选框都是从 JSON 映射的 主复选框 最高级别 及其下面的所有子复选框 第二级别 都会在单击时显示 并且效果很好 我想要显示的是单击时主复选框 第三级别 的子复选框2 级项
  • DOM 元素宽度可以是非整数吗?

    我有一个页面 其 div 元素由 JavaScript 对齐 JavaScript 只是检查一组 div 元素来查找最大值偏移宽度 然后设置所有 div 元素 width成为最大偏移宽度 它在大多数浏览器和区域设置中都能完美运行 但在 Ma
  • 如何使用 Angularjs 检查模块中的指令或控制器是否可用

    在 angularjs 中 给定一个模块 如何检查给定一个模块是否存在指令 控制器 我有一个模块 我想知道是否已加载某些特定指令 下面是一些示例代码 var module angular module myModule check if c
  • 在 PHP 中合并文件块

    出于教育目的 我想创建文件块上传 你们怎么知道所有块何时上传 我试图从temp并重命名它们 使它们按正确的顺序排列 然后与最后一个块将它们合并在一起 然而 我猜最后发送的并不是最后收到的 所以fopen on chunks 失败 因为它们尚
  • 在 HTML5 中堆叠多个画布

    我试图使用相互堆叠的四块画布 但除了顶部画布的内容外 它们的内容不会显示 我按照我希望它们显示的顺序将 z index 值放入其中 但只有最上面的一个显示内容 它们的位置是绝对的 z 索引是 1 2 3 和 4 是否还有其他原因导致它们不显
  • 无法获取子 DOM 元素

    注 由于问题有点复杂 为了可读性对代码进行了抽象 We ve a
  • SWC with JavaScript:如何处理 CSS 导入以及如何绝对导入?

    TL DR 如何告诉 SWC 编译 React 组件中导入的 CSS 文件 如何告诉 SWC 在测试和 React 组件中编译绝对导入 这是一个最小的可重现示例 https github com janhesters riteway swc
  • 为什么我会失去对元素的引用?

    我偶然发现了一些奇怪的东西 至少对我来说 案例如下 我选择一个元素 child1 从 DOM 并将其保存到变量中 我继续添加一个新元素child1的家长 parent1 现在 如果我尝试修改某些值child1它不记录更改 似乎引用已经消失
  • 点击事件的事件处理程序自动触发 - jQuery [重复]

    这个问题在这里已经有答案了 可能的重复 为什么单击事件处理程序会在页面加载后立即触发 https stackoverflow com questions 7102413 why does click event handler fire i
  • 如何使用 HTML5 在画布上绘制心电图监视器?

    我尝试使用canvas html5绘制心电图系统 几乎我即将完成我的波浪正在移动 但不是连续地重复 但我想绘制波浪是从左到右连续移动的 下面的链接是示例 Ex https www youtube com watch v wuwBfSpVEg
  • 地理编码服务与 gMap 搜索之间的差异结果

    我想获取此地址的纬度和经度 Boulevard de la Marne Zone industrielle COULOMMIERS 77120 France 我将 api 添加到我的页面 当我使用 gmaps 时 结果很好 但是当我想通过
  • Magnific Popup:来自span的源标题

    我想从锚标记内的隐藏标题字段中获取放大图像的标题 而不是从标题中获取 这是因为我的标题包含标记 HTML a href img zoom jpg img src img small jpg alt span class hide This
  • Angular CDK Overlay,更改默认覆盖容器

    有没有办法改变OverlayContainer 我创建了一个工具提示组件 但有时我想将叠加层附加到特定元素 默认情况下 叠加层附加到文档正文 以下是我创建叠加层的方法 private initOverlay void const posit
  • HighCharts - 两个 Y 轴,一个具有最大值

    我在使用 Highcharts 时遇到问题 我已将右 Y 轴设置为 min 0 和 max 100 它是 但它不起作用并生成 125 百分比 怎么了 http jsfiddle net SdTcU http jsfiddle net SdT
  • 当来自 Mozilla Firefox 和 MS Edge 上的剪贴板时 Alpha 会变成黑色

    我正在使用代码从这里 https stackoverflow com a 15369753 5875416将剪贴板中的图像粘贴到页面上 它在所有浏览器 Chrome Firefox Edge 和 Opera 中都能正常工作 问题是 当图像是
  • 只允许在输入字段中输入数字

    我想要打开电话号码字段这个网站 http myfrugaltech com dev savoo register 只接受数字或数字 我无权编辑 HTML 代码 那么可以使用 jQuery 通过定位字段 ID 来完成此操作吗 如果可以的话 该
  • 如何从 fetch API 返回 json 响应

    我有一个像这样的函数 check auth fetch Urls check auth credentials include method GET then response gt if response ok return respon
  • 解析函数是否异步传递给 Promise 执行器?

    我有以下代码 function myPromiseFunc return new Promise resolve gt resolve Promise resolve 123 据我们所知Promise resolve方法立即用普通值解析 P
  • 网站可以检测您何时将 Selenium 与 chromedriver 结合使用吗?

    我一直在使用 Chromedriver 测试 Selenium 我注意到有些页面可以检测到您正在使用 Selenium 即使根本没有自动化 即使我只是通过 Selenium 使用 Chrome 手动浏览 Xephyr https en wi

随机推荐

  • 如果类列表包含多个特定类

    我需要一个函数来触发元素recordplayerstick包含pinplace or pinsongplay班级 我当前的代码返回语法错误 这样做的正确方法是什么 if document getElementById recordplaye
  • LINQ to DataTable 简单快速

    我是 LINQ 新手 我想将 LINQ 查询转换为 DataTable DataClassesDataContext db new DataClassesDataContext MyConncectionString IEnumerable
  • INVoiceShortcutCenter.shared.getAllVoiceShortcuts 在 iOS 13 中不会返回任何内容

    我不确定我做错了什么 但在这个方法中 INVoiceShortcutCenter shared getAllVoiceShortcuts vShortCuts error in print vShortCuts vShortCuts 是一个
  • 填充形状的图像不会在 FabricJS 中使用 loadFromJSON 加载

    I have JSON带有 Fabric Rect 对象的数据 当我尝试加载这个时JSON数据到织物画布上从JSON加载 形状加载完美 但形状中填充的图案未渲染 仅在单击形状后才会渲染图案 我已将我的代码复制到织物厨房水槽执行模块中 并尝试
  • 无法使用 Apache POI 读取 Excel

    我正在使用 Apache POI 读取 excel 但它不断给出 XSSFWorkbook 类定义发现错误的错误 我使用了不同版本的 Apache poi jar 库 即 4 1 4 0 和 3 12 但它们似乎都没有修复此错误 这是当前导
  • 从 Graphite 迁移到图形浏览器

    石墨网络应用程序不鼓励临时绘图 Graphiti 等人只是花哨的 UI 虽然改进了 UI UX 但对于困扰 Graphite Webapp 的固有线性度量搜索没有做太多事情 如果这里错了请纠正我 但是only我遇到的鼓励临时绘图的选项是图形
  • 请求:网络应用程序的最小框架

    我即将构建一个框架 将 xml 带有嵌入代码 解析为具有 ajax 功能的自动生成的 Web 应用程序 现在 我不想重新发明轮子 所以感谢任何现有的可用解决方案 归结为 有可用的框架吗 这为我创建了回调代码等 最好是php If not 适
  • 如何在 MVC4 中使用 type="url" 而无需 jQuery 将字段验证为 URL?

    情况是这样的 我这里有一个很大的 URL 文本输入框 https asafaweb com https asafaweb com 不过 这不需要遵守 URL 的严格定义 我允许没有方案的地址 然后出于可用性目的默认为 HTTP 例如 sta
  • 如何在iOS中制作一个水平可滚动的UITabBar?

    我的应用程序中的 UITabBar 由 10 多个项目组成 但宽度足以放置所有 10 多个项目 如何在 iOS 中制作水平可滚动的 UITabBar Thanks 至少在某种程度上 你必须自己动手 What might工作 将创建一个 UI
  • mapM 的惰性版本

    假设我在使用 IO 时收到了大量的项目列表 as lt getLargeList 现在我正在尝试申请fn a gt IO b onto as as lt getLargeList bs lt mapM fn as mapM有类型mapM M
  • 大查询将重复字段中的结构更新为 null

    在 Google bigquery 中 我试图对重复字段进行更新 为了进行比较 这是可行的 或者至少被标记为有效 但当然实际上并没有更新该字段 UPDATE my table t SET my field ARRAY SELECT AS S
  • anaconda 在 Windows 上安装 python 3.4

    我想使用 Anaconda 安装和使用 python 3 4 及其众多库 例如 numpy pandas 等 不幸的是 我无法激活 python 3 4 我在 Windows 8 笔记本上安装了 Acaconda 2 0 Anaconda
  • debezium 无法使用带有默认插件 pgoutput 的 postgres 11 访问文件“decoderbufs”

    我是 kafka 新手 我正在尝试使用 debezium postgres 连接器 但即使使用带有标准插件的 postgres 版本 11 我也会收到此错误 org apache kafka connect errors ConnectEx
  • 使用 Django 在 teamcity 中测试覆盖率

    我已经让 teamcity 工作了 它构建并运行了一个自定义测试运行程序 http pypi python org pypi teamcity messages http pypi python org pypi teamcity mess
  • 选择列值已更改的行

    假设我有下表 Value Time 0 15 06 2012 8 03 43 PM 1 15 06 2012 8 03 43 PM 1 15 06 2012 8 03 48 PM 1 15 06 2012 8 03 53 PM 1 15 0
  • 为什么这些 Tomcat 服务器的 JVM 每小时执行一次 Full GC?

    我们运行许多 Tomcat 服务器 并观察到完整的垃圾收集 GC 通常每小时执行一次 特别是当内存使用率相对较低时 精确时间似乎与应用程序服务器启动的时间有关 如果服务器在 01 13 启动 则在 02 13 完成一次 Full GC 下一
  • 如何插入只有默认值的记录?

    如果我有一个包含所有默认列的 SQL 表 例如 标识列 任意数量的所有列都具有默认值 那么插入没有给出显式值的行的 SQL 语句是什么 insert MyTable doh no fields values doh no values 有什
  • 通过嵌入式服务器测试 Solr

    我正在为我的 solr indexer 应用程序编写一些测试 遵循测试最佳实践 我想编写独立的代码 只需加载schema xml and solrconfig xml并为索引搜索测试创建临时数据树 由于应用程序大部分是用java编写的 我正
  • 通过REST API查询HealthKit数据

    是否可以像查询常规 API 经用户同意 一样从 Healthkit 获取数据并将其存储在我的 web 应用程序中 就像是 healthkit com api v1 user GetWeight 如果是 我在哪里可以找到可用方法的列表 如果没
  • D3.js:使用鼠标滚轮滚动缩放 x 轴和数据

    我搜索了其他相关问题 但无论是因为我是 D3 新手 还是作为一名编码员生疏 我无法弄清楚这一点 我有一个图表 我希望能够通过仅在 a 轴和数据上滚动鼠标滚轮来放大 现在 我的整个图表在鼠标滚轮的滚动上进行缩放 而不是仅在 x 轴上进行缩放