从CSV声明最小值和最大值

时间:2013-08-09 04:29:30

标签: javascript arrays highcharts

我希望能够确定以下每个系列的最小值和最大值(系列为pHORPTankHeater和{{1 }})。 RoomTankHeater都应写入相同的最小和最大变量,因为它们以相同的比例显示(即显示3组中任何一组的最小值或最大值)数据 - 最小值为22.20,最大值为24.33,来自下面的样本数据)

导入的原始数据采用以下格式(列数更多)

有关完整示例,请参阅http://macca.myreef.info/24hr_final.csv

样品:

Room

pnt_1 1375935000.00 1375935300.00 1375935600.00 1375935900.00 pH 8.34 8.35 8.36 8.36 ORP 415.24 415.44 415.05 414.74 Tank 24.27 24.26 24.20 24.22 Heater 24.33 24.30 24.30 24.30 Room 22.20 22.32 22.44 22.52 为垃圾,第1列为“标题”,第1行为pnt_1,其余数据为值(在该纪元时间)。

希望我还没有失去你。

使用下面的代码我设法让Highcharts几乎按照我的意愿展示 - 请参阅http://macca.myreef.info/test1.html

我希望能够

  1. 声明每行的最小值和最大值(将epochtankHeater行视为1)作为变量。
  2. 使用min和max变量设置轴
  3. EG。如果Roomminph = 8.34我可以声明

    maxph = 8.36

    想要将此作为变量的原因是我也在努力将最新数据作为类型仪表的高图提供,我将使用变量来设置颜色的“波段”以指示任何波动量给定系列具有与实际系列值一样的最新样本。变量var minphscale = minph*0.9 var maxphscale = maxph*1.1 minph将决定乐队(Geez - 我希望这是有意义的。)

    目前的代码是

    maxph

1 个答案:

答案 0 :(得分:0)

嗯,我认为你可以这样做:

                else {
                    var minph = 5,
                        val = parseFloat(item);
                    series.data.push(val);
                    // get min and max
                    series.minVal = series.minVal < val ? series.minVal : val;
                    series.maxVal = series.maxVal > val ? series.maxVal : val;
                }

然后在为连接的yAxis minVal创建图表集之前,将maxVal设置为min和max。如果要将三行连接到一个yAxis,请比较minVal和maxVal行并选择它们的最小值和最大值。