Highstocks舍入值,并且在超过两个小时的观看范围内不准确

时间:2013-01-30 16:33:59

标签: highcharts highstock

我正在使用highcharts来执行基本温度或这种性质的传感器图形。问题是我将当前默认视图设置为3天,但在该视图中它会扭曲y轴数据值。

例如,如果大部分数据为1.5但值也为10,则在三天视图中,y轴仅显示最多3或4的范围。它显示实际行中的峰值但是,当您将鼠标悬停在该点上时,该值为3或4而不是10.但是,如果我将视图缩小到2小时,则数据会正确显示,然后值将返回到10并且y轴可以容纳10值。

此外,由于数值应该是稳定的1.5,因此数据会逐渐向下舍入,因此我不断将其向下舍入为1。

任何帮助将不胜感激,我将整天围着电脑回答有关此问题的任何问题。

$.getJSON('mkjson.php?device=<?echo $device_name;?>&sensor=<?echo $sensor_name;?>&pin=<?echo $pin;?>&user=<?echo $_SESSION['user'];?>', function(data) {
    // Create the chart
    window.chart = new Highcharts.StockChart({
        chart : {
            renderTo : 'container',
            zoomType: 'x'
        },

        rangeSelector : {
            selected : 1
        },

        title : {

            text : 'Device:<?echo $device_name;?>'
        },
        subtitle : {
            text : 'Sensor:<?echo $sensor_name;?>'

        },

        xAxis : {
            minRange: 600 * 1000 // one hour
        },

        yAxis : {
            title : {
                text : '<?echo $unit;?>'
            }


        },
        rangeSelector : {
            buttons : [{
                type : 'minute',
                count : 10,
                text : '10m'
            }, {
                type : 'hour',
                count : 1,
                text : '1H'
            }, {
                type : 'day',
                count : 1,
                text : '1D'
            },
            {
                type : 'day',
                count : 3,
                text : '3D'
            }],
            selected : 3,
            inputEnabled : false
        },          

        series : [{
            name : 'Voltage',
            data : data,
            tooltip: {
                valueDecimals: 2
            }
        }]
    });
});

这是数据如何倾斜的示例。右边的高点是10和13但它们只出现在3点。 Example

3 个答案:

答案 0 :(得分:1)

查看dataGrouping,因为它可以让您确定如何分组或完全关闭它。它默认为启用。

答案 1 :(得分:0)

您是否尝试过使用numberFormat()http://api.highcharts.com/highstock#highcharts.numberFormat()

答案 2 :(得分:0)

我被自动四舍五入烧了;图表对点的内部表示进行了某种舍入。

我只有一个解决方法 - 我通过将数据点存储在一个单独的数组中并在工具提示函数中引用它来解决它。

值得注意的是,如果您使用的是列数据并且没有关闭数据分组,那么图表也会对X值进行舍入。