【问题标题】:Programatic zoom in D3D3 中的程序化放大
【发布时间】:2023-03-10 18:42:01
【问题描述】:

使用代码模式here,我想以编程方式实现语义缩放(放大或缩小)。我不确定如何获得通过缩放增强的正确 x、y 和 scaleExtent 项:

var svg = d3.select("body").append("svg")
    .attr("width", width)
    .attr("height", height)
  .append("g")
    .call(d3.behavior.zoom().x(x).y(y).scaleExtent([1, 8]).on("zoom", zoom));

请参阅 JSfiddle here。 zoomIn 和 zoomOut 函数应该模拟以 SVG 为中心的鼠标滚轮事件。

这是基于以下答案的解决方案:http://jsbin.com/dociwuvacu/1

【问题讨论】:

  • 很遗憾,您提供的代码不足以理解和回答您的问题。
  • 我希望能够在绘图中心模拟鼠标滚轮向下/向上,以便您可以单击按钮放大或缩小。清楚吗?
  • 请给个jsfiddle。
  • 我添加了一个 JS fiddle -- 如果有什么不清楚的地方请告诉我

标签: javascript d3.js zooming


【解决方案1】:

我相信我成功更新了您的小提琴,但如果没有,这里是您需要的代码类型:

function zoomIn() {    
    zoomer.scale(zoomer.scale()+.1);
    zoomer.event(svg);
}

function zoomOut() {
    zoomer.scale(zoomer.scale()-.1);
    zoomer.event(svg);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多