d3js条形图颠倒和滑动刷

时间:2016-12-22 23:59:30

标签: javascript d3.js

如果你看一下这个简单的条形图http://codepen.io/ksh/pen/BQEGRK,当你将红色虚线区域拖动并滑动到顶部或底部时,你会看到恢复的画笔移动。我该怎么做才能做到正确? 我的第二个问题是,如何使我的虚线区域始终可见,并且可以再次拖动相同的元素。默认情况下,当条形高度为零时,它们会消失,并且无法将条形滑动到更高的位置。

SELECT * FROM Projects WHERE PrjStatus = 1 AND ProjectNumber = Me![ProjectNumber]

1 个答案:

答案 0 :(得分:0)

你得到了奇怪的笔刷行为,因为你改变了svg以将其颠倒过来:

transform: rotate(180deg);

你真的希望你的图表和标签是颠倒的吗?无论哪种方式,我认为删除转换,在未转换的空间中工作以及移动轴和条都更容易。

您应确保选择[0]< = selection [1],以便在调用invert时没有异常。当选择为空[0,0]时,d3会自动隐藏选择和手柄。它使手柄位置偏离选择,所以我认为你需要自己绘制它以保持可见。在brushmove中有类似的东西:

    if (!d3.event.selection) {
      var index = parseInt(d.datum().index) - 1;
      d3.select(this).selectAll('.handle')
        .style("display","inline")
        .attr("x", x(index) )
        .attr("y", scale(0))
        .attr("width", x(index+1) - x(index))
        .attr("height", delim);
      return;
}

或者,您可以阻止选择变空。