我试图减少DC.js线图中的点数,以提高性能。文档让我相信xUnits()是这样做的:
坐标网格图使用xUnits函数计算x轴上的数据投影数,例如条形图的条形图数或线图上的点数。
但是,xUnits似乎甚至没有被使用:
http://jsfiddle.net/m5tguakf/2/
我做错了什么?
发布于 2016-08-15 12:51:16
点的数量实际上是由交叉过滤器决定的-- dc.js不会自己进行任何聚合,因此它无法添加或减少点数。
这种文档可能会误导人--它不会改变数据的形状。xUnits是dc.js真正需要的,以了解它将要绘制的元素的数量。它有两个用途:
dc.js可以只计算交叉过滤器组中的点数吗?也许吧。
无论如何,要回到原来的问题:如果您想减少所绘制的点数,请将您的数据在组中进行不同的汇总。通常情况下,这意味着创建更大的回收箱,将属于该间隔的数据之和或平均。
举个简单的例子,你可以用偶数来组合小提琴中的每一个点,如下所示:
var BINSIZE = 2;
// ...
speedSumGroup = runDimension
.group(function(r) { return Math.floor(r/BINSIZE) * BINSIZE; })
// ...http://jsfiddle.net/gordonwoodhull/djrhodkj/2/
这会导致运行6和运行7都落在同一个bin中,因为它们具有相同的组键。在一个实际的例子中,您可能希望将它们平均化,如带注释的股票示例所示。
https://stackoverflow.com/questions/38938517
复制相似问题