【问题标题】:Prevent the y-axis in a d3 line graph from going below 0 on drag防止 d3 折线图中的 y 轴在拖动时低于 0
【发布时间】:2015-04-06 17:44:51
【问题描述】:

我有一个 d3 折线图(可以在这里查看 - the graph)。该图只允许在 y 轴上缩放。默认情况下,它允许拖动。我想阻止人们在 y 轴上拖到 0 以下。我在某处读到不需要编写新的拖动功能,因为缩放可以处理。因此,我尝试在缩放时调用的函数(重绘)上实现逻辑,但无法弄清楚如何防止人们在 y 轴上拖动到 0 以下。下面是redraw函数的代码

function redraw() {  

    if (y.domain()[0] < 0) {
            y.domain()[0] = 0;
            vis.selectAll("[ty='line']").attr('d', line); 
            vis.select(".y.axis").call(yAxis);               
            return;

    } else {
        vis.select(".y.axis").call(yAxis);
        vis.selectAll("[ty='line']").attr('d', line);
    }        
} 

【问题讨论】:

  • this example
  • @LarsKotthoff 非常感谢。它仍然有些错误,但在 90% 的时间里都可以正常工作
  • 嗯,这个例子对我来说很好。
  • @LarsKotthoff 这是我的错。它完美地工作。谢谢

标签: javascript d3.js graph


【解决方案1】:

Lars Kotthoff 在 cmets 中发布了如何解决问题的链接

【讨论】:

    猜你喜欢
    • 2017-07-31
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多