dc.js 不尊重 xUnits
dc.js not respecting xUnits
我正在尝试减少 DC.js 折线图中的点数以提高性能。 docs 让我相信 xUnits()
是这样做的方法:
The coordinate grid chart uses the xUnits function to calculate the number of data projections on x axis such as the number of bars for a bar chart or the number of dots for a line chart.
但 xUnits
似乎甚至没有被使用:
http://jsfiddle.net/m5tguakf/2/
我做错了什么?
点数实际上是由crossfilter决定的-dc.js本身不做任何聚合,所以它没有办法增加或减少点数。
该文档可能会产生误导 - 它不会改变数据的形状。 xUnits
确实只需要 dc.js 就可以知道要绘制的元素数量。它有两个用途:
- 确定条形图或箱线图的宽度
- 了解 x 标度是有序的还是定量的
可以dc.js只计算crossfilter组中的点数吗?或许吧。
无论如何,回到您最初的问题:如果您想减少绘制的点数,请在您的组中以不同方式汇总数据。通常这意味着创建更大的 bin,对落入该区间的数据求和或取平均值。
作为一个简单的例子,您可以通过按偶数分箱来合并 fiddle 中的所有其他点,如下所示:
var BINSIZE = 2;
// ...
speedSumGroup = runDimension
.group(function(r) { return Math.floor(r/BINSIZE) * BINSIZE; })
// ...
http://jsfiddle.net/gordonwoodhull/djrhodkj/2/
这导致例如运行 6 和 运行 7 都落在同一个容器中,因为它们具有相同的组密钥。在真实示例中,您可能希望对它们进行平均,如 the annotated stock example.
所示
我正在尝试减少 DC.js 折线图中的点数以提高性能。 docs 让我相信 xUnits()
是这样做的方法:
The coordinate grid chart uses the xUnits function to calculate the number of data projections on x axis such as the number of bars for a bar chart or the number of dots for a line chart.
但 xUnits
似乎甚至没有被使用:
http://jsfiddle.net/m5tguakf/2/
我做错了什么?
点数实际上是由crossfilter决定的-dc.js本身不做任何聚合,所以它没有办法增加或减少点数。
该文档可能会产生误导 - 它不会改变数据的形状。 xUnits
确实只需要 dc.js 就可以知道要绘制的元素数量。它有两个用途:
- 确定条形图或箱线图的宽度
- 了解 x 标度是有序的还是定量的
可以dc.js只计算crossfilter组中的点数吗?或许吧。
无论如何,回到您最初的问题:如果您想减少绘制的点数,请在您的组中以不同方式汇总数据。通常这意味着创建更大的 bin,对落入该区间的数据求和或取平均值。
作为一个简单的例子,您可以通过按偶数分箱来合并 fiddle 中的所有其他点,如下所示:
var BINSIZE = 2;
// ...
speedSumGroup = runDimension
.group(function(r) { return Math.floor(r/BINSIZE) * BINSIZE; })
// ...
http://jsfiddle.net/gordonwoodhull/djrhodkj/2/
这导致例如运行 6 和 运行 7 都落在同一个容器中,因为它们具有相同的组密钥。在真实示例中,您可能希望对它们进行平均,如 the annotated stock example.
所示