将值传递给变量以在Highcharts

时间:2017-06-27 04:38:56

标签: javascript highcharts

我正在制作一个仪表板,我将使用Highcharts和名为PeakVibrations.json的离线json文件绘制实时图表,该文件存储在与仪表板的网页相同的目录中。

我有一个名为PeakVibrations1.json的JSON文件有101条记录,以下是数据的子集:

[
  { "PeakVibrationafterAssembly" : "5.1"},
  { "PeakVibrationafterAssembly" : "3"},
  { "PeakVibrationafterAssembly" : "4.3"},
  { "PeakVibrationafterAssembly" : "2.0"}
]

我已经使用highcharts网站上提供的代码段预处理了json文件:

 $.getJSON('PeakVibrations1.json', function(data) {
    options.series[0].data = data;
    var chart = new Highcharts.Chart(options);
 });

我已经采用了生成实时随机数据的代码(链接为https://www.highcharts.com/demo/dynamic-update),因为我必须将json文件数据传递给图表而不是随机数据我做了一些更改, 我需要在highcharts中制作的实时图表代码是:

$(document).ready(function () {
Highcharts.setOptions({
    global: {
        useUTC: false
    }
});

Highcharts.chart('container', {
    chart: {
        type: 'spline',
        animation: Highcharts.svg, // don't animate in old IE
        marginRight: 10,
        events: {
            load: function () {

                // set up the updating of the chart each second
                var series = this.series[0];
                setInterval(function () {
                    var x = (new Date()).getTime(), // current time
                        y = json.parse(data);
                    series.addPoint([x, y], true, true);
                }, 1000);
            }
        }
    },
    title: {
        text: 'Live random data'
    },
    xAxis: {
        type: 'datetime',
        tickPixelInterval: 150
    },
    yAxis: {
        title: {
            text: 'VibrationValue'
        },
        plotLines: [{
            value: 0,
            width: 1,
            color: '#808080'
        }]
    },
    tooltip: {
        formatter: function () {
            return '<b>' + this.series.name + '</b><br/>' +
                Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>' +
                Highcharts.numberFormat(this.y, 2);
        }
    },
    legend: {
        enabled: false
    },
    exporting: {
        enabled: false
    },
    series: [{
        name: 'Live data',
        data: (function () {
            // pass value to x and y
            var data = [],
                time = (new Date()).getTime(),
                i;

            for (i = -19; i <= 0; i += 1) {
                data.push({
                    x: time + i * 1000,
                    y: json.parsedata()
                });
            }
            return data;
        }())
    }]
});  });

但是图表没有被绘制。 据我推测,我在向高图代码中分配json文件,值为变量“y”时遇到问题 任何帮助都会有很大的帮助

有人可以建议一些更好的方法吗?

0 个答案:

没有答案