我目前刚刚开始使用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。
谢谢,
答案 0 :(得分:1)
最简单的方法就是将其复制/粘贴到您的js文件中,我认为这个文件不够好,因为您希望它是动态的。
如果你需要它是动态的,你不能在javascript中执行此操作,因为javascript在客户端(即Web浏览器)上运行,但它需要从服务器(即原始机器)读取。所以,你必须创建一个“端点”来读取文件,在php中查看一些简单的东西:
<?php
// > PHP 5
$file = file_get_contents('./gauge_data.txt', FILE_USE_INCLUDE_PATH);
?>