Highcharts Gauge - 如何从文件中读取输入?

时间:2013-09-01 22:26:22

标签: javascript highcharts

我目前刚刚开始使用JS并且需要一个项目的高级图表,到目前为止一直很好,但我确实有一个非常新手的问题: 我有一些任务正在执行一个cron作业并输出一个值范围:10-90到一个文件。如何将值加载到量表中?

这是我改编的代码(范围,外观和感觉都不重要),我只能制作静态值 53.8

 $(function () {

    $('#container').highcharts({

        chart: {
            type: 'gauge',
            plotBackgroundColor: null,
            plotBackgroundImage: null,
            plotBorderWidth: 0,
            plotShadow: false
        },

        title: {
            text: 'Speedometer'
        },

        pane: {
            startAngle: -150,
            endAngle: 150,
            background: [{
                backgroundColor: {
                    linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
                    stops: [
                        [0, '#FFF'],
                        [1, '#333']
                    ]
                },
                borderWidth: 0,
                outerRadius: '109%'
            }, {
                backgroundColor: {
                    linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
                    stops: [
                        [0, '#333'],
                        [1, '#FFF']
                    ]
                },
                borderWidth: 1,
                outerRadius: '107%'
            }, {
                // default background
            }, {
                backgroundColor: '#DDD',
                borderWidth: 0,
                outerRadius: '105%',
                innerRadius: '103%'
            }]
        },

        // the value axis
        yAxis: {
            min: 0,
            max: 200,

            minorTickInterval: 'auto',
            minorTickWidth: 1,
            minorTickLength: 10,
            minorTickPosition: 'inside',
            minorTickColor: '#666',

            tickPixelInterval: 30,
            tickWidth: 2,
            tickPosition: 'inside',
            tickLength: 10,
            tickColor: '#666',
            labels: {
                step: 2,
                rotation: 'auto'
            },
            title: {
                text: 'km/h'
            },
            plotBands: [{
                from: 0,
                to: 120,
                color: '#55BF3B' // green
            }, {
                from: 120,
                to: 160,
                color: '#DDDF0D' // yellow
            }, {
                from: 160,
                to: 200,
                color: '#DF5353' // red
            }]        
        },

        series: [{
            name: 'Speed',
            data: [80],
            tooltip: {
                valueSuffix: ' km/h'
            }
        }]

    }
);
    $('#container').highcharts().series[0].points[0].update(50.8)
});

这是jsfiddle链接:http://jsfiddle.net/H8uGk/,你能给我一个如何阅读文件内容的提示吗? (在这种情况下是一个数字)

有没有办法在javascript中执行此操作?它不需要是动态的,我避免使用php。

谢谢,

1 个答案:

答案 0 :(得分:1)

最简单的方法就是将其复制/粘贴到您的js文件中,我认为这个文件不够好,因为您希望它是动态的。

如果你需要它是动态的,你不能在javascript中执行此操作,因为javascript在客户端(即Web浏览器)上运行,但它需要从服务器(即原始机器)读取。所以,你必须创建一个“端点”来读取文件,在php中查看一些简单的东西:

<?php
// > PHP 5
$file = file_get_contents('./gauge_data.txt', FILE_USE_INCLUDE_PATH);
?>