嗨,点击一个按钮,我只是想要图形在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
}
基本上所有这些都可以在一个函数中,可以在任何地方调用或点击按钮重置图形。