如果触发重绘事件,弹性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轴范围。但这似乎并不正确。这是一个错误还是我错过了什么?
答案 0 :(得分:1)
与((lambda (l) ...) (cdr l))
和elasticX
一样,dc.js会查看所有垃圾箱,无论它们是否为空。
你可能认为它忠实地显示了所有数据,只是发生了一些数据为零。 :-)
要删除这些零,请使用常见问题解答中的elasticY
:
remove_empty_bins
请注意,散点图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))
关闭散点图的过渡,因为它们没用。