2

我有一个只读图表来可视化一些数据。我的最终用户希望“过滤”数据,以便一次只能显示数据的一个子集。我意识到每次应用过滤器时都可以重新绘制整个图表,忽略不显示的元素,但我想知道是否有一种方法可以简单地动态“隐藏”一些现有元素,然后重新显示他们。

为了弄清楚,如果这是一个网页而不是图表,我会类比将 CSSdisplay: none应用于我选择的元素。

4

1 回答 1

7

您实际上可以对 JointJS 图表元素/链接执行相同的操作。例如:

myElement.attr('./display', 'none')

隐藏呈现该元素的整个 SVG 组元素。请注意,这'.'是一个指向整个组的特殊选择器。如果您只想隐藏某个 SVG 子元素,您可以类似地执行此操作,例如对于该joint.shapes.basic.Rect元素,您可以:

myRect.attr('rect/display', 'none')

这仅隐藏了矩形(对象中<rect>的标签名称引用的 SVG 元素- 我们通过该方法修改。rectattrsattr()

于 2014-11-25T19:29:16.737 回答