【发布时间】:2011-10-19 16:06:28
【问题描述】:
我正在研究一个使用画布的图形类(在 javascript 中)。这仅用于实验/学习目的。目前,图表根据画布设置的任何高度和宽度正确缩放。这不是问题,这基本上就是我正在做的绘制正确坐标[伪代码]。
point[0] = [10, 15]
point[1] = [20, 10]
point[2] = [30, 20]
point[3] = [40, 15]
canvas width = 300
max x = 40
so for any given point:
position x = ( point[i][0] / max x ) * canvas width
足够简单。我得到一个比率,然后将其乘以画布宽度以将其绘制在正确的像素处。
然而,问题在于提出了一个方程,它会导致 x 的最小值位于图形的 x 坐标上的 0 处,而最大值位于图形的最大值点(它已经确实是因为我当前等式中的 1:1 比率)。目前 x 的最小值(示例中为 10)位于 x 坐标的 75px 处,因为 1:4 的比例乘以画布的宽度。
tldr / 摘要: 我需要制作一个图表,其中最小值绘制在图表的开头(0,0),最大值绘制到结尾.
【问题讨论】:
-
您需要值的范围,缩放轴以使图形成为范围的大小,并将所有值缩放为 (value - min_value) * 比例因子。
标签: javascript math graph equation