javascript - D3.js 缩放 translateTo 问题
问题描述
我在恢复转换参数并将其应用于 D3 视图时遇到问题。当我应用以前保存的变换参数来查看时。一切看起来都不错。但是,一旦您尝试拖动或缩放视图,视图就会跳跃。
这就是我的意思:
https://blockchaingraph.org/#ipfs-Qmdv3dEd5YUsiLv8GJ4ZEKYcBwPU6vKosqCXRWvR7LmcuE
图表加载后,尝试拖动视图,您会看到它跳跃。
这是我的代码:
svg = container.append('svg')
.attr('width', '100%')
.attr('height', '100%')
.attr('class', 'graphd3-graph')
.call(d3.zoom().on('zoom', function () {
var scale = d3.event.transform.k;
var translate = [d3.event.transform.x, d3.event.transform.y];
svg.attr('transform', 'translate(' + translate[0] + ', ' + translate[1] + ') scale(' + scale + ')');
}))
.on('dblclick.zoom', null)
.append('g')
.attr('width', '100%')
.attr('height', '100%');
......
var c = container.select(".graphd3-graph");
svg.attr('transform', data.transform);
d3.zoom().scaleTo(c, tra.k);
d3.zoom().translateTo(c, tra.x, tra.y);
问题是如何在可拖动/可缩放的 D3 视图上正确应用变换?d3.zoom().scaleTo() 似乎正在工作,但 d3.zoom().translateTo() 完全被忽略了。
我正在使用 d3/5.7.0/d3.min.js
解决方案
推荐阅读
- debugging - 是否有其他选项可以解决“等待直到最后一个调试器命令完成”、“收集数据”或调试挂起?
- c# - 有没有办法将链接列表存储在数据库中的单个列中,这样当从 db 获取它时,它仍然有它的节点
- javascript - 如何从 api 调用中动态获取对象键并更改有效负载结构格式?
- createml - 创建 ML:对象分类器内部错误(ioaf 代码 1)
- javascript - Telerik AutoCompleteBox for AJAX:用 Javascript 折叠它的下拉列表?
- c++ - 要打印数组中元素的频率,我已经解决了但面临一些打印问题。帮助解决
- webhooks - Google 助理:操作 | 捕获用户输入后返回列表
- php - 给出的具体日期仅在今天返回
- powershell - 如何从 PowerShell 脚本中获取退出代码
- c++ - 如何在 Debian 10 上将 CPU 限制到 80% 并在 4 个 vCore 上平衡我的 C++ 函数?