【问题标题】:Linear piecewise scale in D3D3中的线性分段缩放
【发布时间】:2017-11-26 01:58:45
【问题描述】:

我想制作一个介于 50 和 100 之间的线性比例,但如果任何异常值低于 50 或高于 100,则分别强制为 50 或 100 的值,这样它就不会脱落我图表的可见范围。 (然后计划对这些数据点进行不同的样式设置,以便用户知道它们或多于或少于它们看起来的样子。)

我将如何在 D3 中进行线性分段缩放?或者只是制作一个由 SVG 的 y 属性直接调用的“看门人”函数,手动执行这些强制,然后使用“范围内”值调用定期线性比例,这样“超出范围”是否更容易? " 值一开始就不会发送到常规线性刻度?

【问题讨论】:

    标签: d3.js


    【解决方案1】:

    我认为你过于复杂了。

    我确定您使用的是 d3.line function,只需在 y 访问器中设置值:

    var line = d3.line()
      .x(function(d) { return x(d.x); })
      .y(function(d) { 
        if (d.y > 150) return y(150);
        else if (d.y < 50) return y(50);
        else return y(d.y);
      });
    

    【讨论】:

      【解决方案2】:

      实际上,我刚刚意识到linear.clamp(true) 正是我想要的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-07
        • 1970-01-01
        • 2013-04-22
        • 1970-01-01
        • 2018-12-05
        • 1970-01-01
        • 2021-12-21
        相关资源
        最近更新 更多