流图可以缩放吗?
Can a streamgraph be zoomable?
我在 streamgraph and I wonder if this graph can be zoomable like line chart zoomable line chart 上找到了一个例子?我还没有找到像 "zoomable streamgraph" 这样的例子。那么这在 d3 中可能吗?
蒸汽图中没有什么特别之处。它是可缩放的,就像任何其他 SVG 图表一样。
例如,我正在使用由 Mike Bostock 创建的 this steamgraph,仅添加以下内容:
svg.call(d3.zoom().on("zoom", function() {
svg.attr("transform", d3.event.transform)
}))
.append("g");
或者,如果您只想在 x 轴上缩放:
svg = svg.call(d3.zoom().on("zoom", function() {
svg.attr("transform", "translate(" + d3.event.transform.x + ",0) scale(" + d3.event.transform.k + ",1)");
}))
.append("g");
这些是简单的演示,只是为了向您展示这是可能的。但是,正确的解决方案涉及更改 x 比例和裁剪路径,这需要更多的工作。
我在 streamgraph and I wonder if this graph can be zoomable like line chart zoomable line chart 上找到了一个例子?我还没有找到像 "zoomable streamgraph" 这样的例子。那么这在 d3 中可能吗?
蒸汽图中没有什么特别之处。它是可缩放的,就像任何其他 SVG 图表一样。
例如,我正在使用由 Mike Bostock 创建的 this steamgraph,仅添加以下内容:
svg.call(d3.zoom().on("zoom", function() {
svg.attr("transform", d3.event.transform)
}))
.append("g");
或者,如果您只想在 x 轴上缩放:
svg = svg.call(d3.zoom().on("zoom", function() {
svg.attr("transform", "translate(" + d3.event.transform.x + ",0) scale(" + d3.event.transform.k + ",1)");
}))
.append("g");
这些是简单的演示,只是为了向您展示这是可能的。但是,正确的解决方案涉及更改 x 比例和裁剪路径,这需要更多的工作。