【发布时间】:2014-04-29 15:37:45
【问题描述】:
我浏览了很多示例,但找不到我想要的东西。我有一个图表,里面有 54 个小条形图。我想实现以下缩放功能:
1) 默认情况下,图表显示在大小为 400x400 的 svg 容器中。单击svg 容器的背景时,整个图表会重新绘制/弹出到更大的显示,例如 800x800,但不会干扰 html 页面中的其他元素。
2) 每个小条形图在svg 中都有一个单独的容器。单击条形图时,该图表会在更大的显示中展开/弹出,而图表的其余部分仍具有相同的大小。
这两个功能如何实现??
提前致谢!
【问题讨论】:
-
您需要两个单击处理程序来将新图形添加为 SVG 中的单独组或新 SVG。
-
@LarsKotthoff 我不确定新的 SVG 元素如何在不干扰其他元素的情况下呈现。我发现的所有示例都是在 SVG 元素中缩放图形,但我想要一个新的放大图形弹出(更可能是一个新的 SVG),就像新的放大图形只是放在基本图形的顶部,然后再次单击将删除新图形,再次留下基本图形。如何实现?
-
SVG 元素不会相互影响。您可以添加一个新的而不影响现有的。
-
您是否会考虑允许用户缩放/平移到特定图表?如果是这样,d3 有一个很好的鼠标滚轮缩放行为。
标签: javascript svg d3.js