Javascript 每分钟更新一次高端图表?

Javascript 每分钟更新一次高端图表?,javascript,jquery,ajax,django,highcharts,Javascript,Jquery,Ajax,Django,Highcharts,我使用jquery High图表来显示我的数据,即温度。我每分钟都会得到更新的数据,图表必须显示每分钟最新的数据更新。 我可以通过简单地刷新页面来做到这一点,但这不是我想要的方式,还有其他可能的方式吗 下面您可以看到我的图表、脚本和函数 <script> time={{ time|safe }} machine_temp={{ machine_temp|safe }} console.log(machine_temp); engine_temp={{

我使用jquery High图表来显示我的数据,即温度。我每分钟都会得到更新的数据,图表必须显示每分钟最新的数据更新。 我可以通过简单地刷新页面来做到这一点,但这不是我想要的方式,还有其他可能的方式吗

下面您可以看到我的图表、脚本和函数

<script>

    time={{ time|safe }}
    machine_temp={{ machine_temp|safe }}
    console.log(machine_temp);
    engine_temp={{ engine_temp|safe }}
    $(function () {
    $('#container').highcharts({
        title: {
            text: 'Engine and Machine Temperature',
            x: -20 //center
        },
        subtitle: {
            x: -20
        },
        xAxis: {
            categories: time
        },
        yAxis: {
            title: {
                text: 'Temperature (°C)'
            },
            plotLines: [{
                value: 0,
                width: 1,
                color: '#808080'
            }]
        },
        tooltip: {
            valueSuffix: '°C'
        },
        legend: {
            layout: 'vertical',
            align: 'right',
            verticalAlign: 'middle',
            borderWidth: 0
        },
        series: [{
            name: 'Engine',
            data: machine_temp
        }, {
            name: 'Machine',
            data: engine_temp
        },]
    });
});
</script>

可能是这样的,您可以尝试:

time={{ time|safe }}
machine_temp={{ machine_temp|safe }}
engine_temp={{ engine_temp|safe }}

function makeChart(elem){
    time={{ time|safe }};
    machine_temp={{ machine_temp|safe }};
    engine_temp={{ engine_temp|safe }};
    $(elem).highcharts({
      // chart code here
    });
}

$(function () {
    setTimeout(function(){
        makeChart("#container"); // recall in 1 min  60 * 1000 = 60000
    }, 60000);
});

我认为最好是准备任何从数据库获取数据的脚本,并且在javascript中每1分钟只调用$.getJSON从源代码获取数据。简单演示:我试过这个,但不是每个1都执行minute@Vishnu你可以试试这个。除此之外,还需要进行一些调用,以便更新变量中的值,如ajax。
time={{ time|safe }}
machine_temp={{ machine_temp|safe }}
engine_temp={{ engine_temp|safe }}

function makeChart(elem){
    time={{ time|safe }};
    machine_temp={{ machine_temp|safe }};
    engine_temp={{ engine_temp|safe }};
    $(elem).highcharts({
      // chart code here
    });
}

$(function () {
    setTimeout(function(){
        makeChart("#container"); // recall in 1 min  60 * 1000 = 60000
    }, 60000);
});