- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 dc.js 创建了一个仪表板。在我的仪表板中,有一个复选框允许用户在计数和金额之间切换仪表板行为。为此,我为所有组重新创建了具有不同 reduceSum
的 crossfilter
。 (尽管,我不知道这是否是执行此操作的正确方法。)重新创建 crossfilter
后,我还必须重新创建 dc.js 图表。
我认为这可能会导致一些内存泄漏和性能问题,因为我已经为所有图表定义了 filtered
事件,并且不知道如何关闭该事件。此外,在选中和取消选中复选框后,页面速度也会变慢。
我的问题:是否有另一种方法可以完全更改交叉过滤器数据而无需重新创建 dc.js 图表?如果没有,如何正确删除 dc.js 图表以避免内存泄漏和性能问题?
最佳答案
我会回答第一个问题,但不会回答第二个问题。 (内存泄漏是一个重要的主题,但我只是不知道答案;如果您怀疑 .on('filtered',...)
您可以尝试 .on('filtered' , null)
但我不知何故怀疑这是唯一的循环。)
那么回到如何替换数据。这应该很简单:只需将组和维度重新分配给图表,然后调用 chart.render()
即可。 render
总是从头开始,因此它应该始终是安全的。即使 redraw
也经常在替换组和维度后起作用,因为 dc.js 图表只是从 group.all()
中提取数据并在维度上设置过滤器,所以他们不太关心你是否更换它们。
速度减慢的一个常见原因是在同一个交叉过滤器实例上创建越来越多的组和维度,但听起来您是从头开始创建交叉过滤器,所以这不是问题。
关于javascript - dcjs、crossfilter - 如何完全处理图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33460320/
我将 dc.js 和 d3-tip 用于我的折线图并得到下一个: 现在工具提示仅在我在某行上执行 mouseover 时显示。我需要在图表的任何一点显示工具提示,并在图表 below 中显示每个轴附近
我使用 dc.js 创建了一个仪表板。在我的仪表板中,有一个复选框允许用户在计数和金额之间切换仪表板行为。为此,我为所有组重新创建了具有不同 reduceSum 的 crossfilter。 (尽管,
这是来自 Splitting and grouping records into daily sets using d3.js and dc.js 的后续问题。 我有一个如下所示的数据集结构: [
使用 dc.js,我制作了一个带有数值的序数条形图。我选择序数图是因为我想为“未知”添加 x 勾。 问题出在 y 轴上。我无法弄清楚如何修复轴标签/缩放。如图所示,在[00,20,40,60,80]之
如果我使用 yAxis() 刻度或刻度格式,我有这段代码会引发错误。 revSpendCompositeChart .width(400).height(180)
我在dcjs中有很多数据,JSON列表中有450条记录,每条记录都有一个包含特定日期的“mydate”字段。我希望能够有一个包含季度“Q1”“Q2”“Q3”“Q4”的条形图。这对于 dcjs/cros
在 dc.leaflet 版本 0.2.3 的 Choropleth 图表中,弹出窗口不起作用或无法渲染。是我错了还是其他人也遇到了这种情况?我很乐意解决这个问题,但我需要一些帮助。 .rende
我是一名优秀的程序员,十分优秀!