使用D3放大
Zooming in using D3
我如何在某个点放大svg上的某个点,然后缩小到整个svg ?只有两种状态,我不需要鼠标滚动缩放或者一个放大、缩小按钮。
我已经查找并发现。缩放在d3文档,但我不确定如何在我的情况下应用。
查看鼠标缩放的典型实现方式:
var svg = d3.select("#svg")
.call(d3.behavior.zoom().on("zoom", redraw))
function redraw() {
console.log("translate: ", d3.event.translate, "scale:", d3.event.scale);
svg.attr("transform",
"translate(" + d3.event.translate + ")"
+ " scale(" + d3.event.scale + ")");
}
滚动会输出如下内容:
translate: [-66.3438, -36.359] scale: 1.1809
为了避免实现滚动缩放,您可以像重绘函数一样直接修改svg的转换属性。只需使用您自己的值,而不是d3.event.translate。例如:
svg.attr("transform",
"translate(" + [0,0] + ")"
+ " scale(" + 2 + ")");
将缩放2倍到svg的中心。使用5而不是2可以放大5倍。
点击缩放地图的例子很好地演示了如何做到这一点
相关文章:
- 如何在d3上的图形中添加放大和缩小按钮
- 放大世界地图上的D3弹出窗口大小
- D3 轴标签在放大时变得过于细粒度
- 如何使用鼠标单击和拖动来放大 D3
- D3 中的编程放大
- 以编程方式放大 D3
- 放大/缩小时,在地图上保持 D3 对象大小不变
- 创建 D3.js 元素 OnClick 事件的放大副本
- D3.js双层分区-初始图表加载放大切片
- 在d3中对html中的两个图形进行带式放大
- 放大mouseenter上的svg组元素(D3)
- 使用D3.js缩放大的值以显示它们
- 如何在D3.js上绘制更多的数据点,当你放大
- 使用D3放大
- 点击路径在d3放大它
- D3放大SVG点击,缩小下一个双击
- D3放大图形
- d3.js:放大点击事件
- 是否有办法放大D3力布局图
- 条形图放大d3.js