如何将D3图形移动到初始缩放和0,0位置-重置图形



嗨,点击一个按钮,我只是想要图形在0,0的位置与缩放,基本上它是一个重置按钮。这可能吗?我可以在哪个元素上这样做?

会是:-

d3.select('svg').select('g').transition()
.duration(1000).attr('transform', "translate(0,0)scale(1)")

但是上面移动了整个图形,包括x轴和y轴,只是缩小了它。我只希望绘制区域内的元素改变,如线,点,x轴和y轴上的值。

请帮助。JSFiddle

基本上你只需要设置所有返回到位置(0,0)和比例1。

你应该实现一种集中所有输入控件的方法。

http://jsbin.com/niqara/2/edit?js

输出
function reset(source) {
  d3.select('g').transition()
    .duration(750)
    .attr("transform", "translate(0,0)scale(1)");
  zoomListener.scale(1);
  zoomListener.translate([0, 0]);
}

我能够实现"reset"(将图形元素移动到0,0并缩小到初始值)使用下面的行:-

function resetGraph(){
    zoom.scale(1); //Zoom out to this scale
    zoom.translate([0, 0]); //move/drag chart to 0,0 xy position
    zoomed(); //Handler that updates all elements after zoom performed
    slided(); //Optional- to update slider which works to zoom in and zoom out
}

基本上所有这些都可以在一个函数中,可以在任何地方调用或点击按钮重置图形。

最新更新