首页 > 解决方案 > 线性数学变换与 scaleLinear D3 函数的关系

问题描述

我不明白如何scaleLinear工作。

我知道这是关于线性变换的y = mx + b,我以这种方式使用它:

const scale = scaleLinear().domain([0, 10]).range([0, 100])

但什么是b,在那种情况mx

标签: javascriptmathd3.js

解决方案


通过指定域和范围,您有两点:

  • (x1,y1) = (域[0], 范围[0])
  • (x2,y2) = (域[1], 范围[1])

所以m = (y2 - y1) / (x2 - x1)b = y1 - m * x1

在您的评论示例中:

const scale = scaleLinear().domain([0, 10]).range([0, 150])

m = 150 / 10 = 15b = 0 - 15 * 0 = 0


推荐阅读