dc.js Scatter Plot和elasticY行为

时间:2017-12-27 14:55:47

标签: javascript d3.js dc.js crossfilter

如果触发重绘事件,弹性Y(true)是否应使Scatter Plot重新计算y轴范围?

我使用了Scatter Brushing示例来演示。每个图表都添加了以下属性:

.yAxisPadding('5%')  // Allow the max values to be brushed
.elasticY(true)      // Allow the chart to recalculate the Y axis range

以下是jsFiddle示例。

我想通过刷左边的散点图,在图表中间选择一对点,会导致右散点图重新计算其Y轴范围。但这似乎并不正确。这是一个错误还是我错过了什么?

1 个答案:

答案 0 :(得分:1)

((lambda (l) ...) (cdr l))elasticX一样,dc.js会查看所有垃圾箱,无论它们是否为空。

你可能认为它忠实地显示了所有数据,只是发生了一些数据为零。 :-)

要删除这些零,请使用常见问题解答中的elasticY

remove_empty_bins

Fork of your fiddle.

请注意,散点图joins the data in a naive way并未提供非常好的动画过渡效果。我通常建议只使用 function remove_empty_bins(source_group) { return { all: function () { return source_group.all().filter(function(d) { //return Math.abs(d.value) > 0.00001; // if using floating-point numbers return d.value !== 0; // if integers only }); } }; } chart1 .group(remove_empty_bins(group1)) chart2 .group(remove_empty_bins(group2)) 关闭散点图的过渡,因为它们没用。