在图表中以不同比例重新计算值

时间:2016-09-06 09:13:37

标签: swift math

我想在基于像素的类似图表的工具中显示一些值。 问题是左侧xAxis的最大刻度为200像素。在像素方块内,我想显示不同的海拔高度值,范围从200m-1500m或324m-724m或其他任何东西。

所以我需要通过一个因子重新计算原始值,以便在此图表中显示它们。还没找到合适的解决方案。任何提示?

enter image description here

1 个答案:

答案 0 :(得分:1)

您有Y坐标范围0..YMax(对于您的情况为200)和数据范围Data_Low..Data_High(找到最小值和最大值)。

要将数据范围映射到轴范围,请使用线性公式:

Y = (Value - Data_Low) * YMax / (Data_High - Data_Low)

如果轴从YMin开始,请使用

Y = YMin + (Value - Data_Low) * (YMax - YMin) / (Data_High - Data_Low)