我想使用 highcharts 库,但它不起作用。我已经在 JSFiddle 中检查过它工作正常,但在我的浏览器中不起作用。
有什么问题吗?请告诉我。
这是代码:
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/highcharts-more.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<script type="text/javascript">
$(function () {
$('#container').highcharts({
chart: {
type: 'gauge',
plotBackgroundColor: null,
plotBackgroundImage: null,
plotBorderWidth: 0,
plotShadow: false
},
title: {
text: 'Speedometer'
},
pane: {
startAngle: -90,
endAngle: 90,
center: ['50%', '100%'],
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'
}
}]
},
// Add some life
function (chart) {
if (!chart.renderer.forExport) {
setInterval(function () {
var point = chart.series[0].points[0],
newVal,
inc = Math.round((Math.random() - 0.5) * 20);
newVal = point.y + inc;
if (newVal < 0 || newVal > 200) {
newVal = point.y - inc;
}
point.update(newVal);
}, 3000);
}
});
});
</script>
</head>
<body>
<div id="container" style="min-width: 310px; max-width: 400px; height: 300px; margin: 0 auto"></div>
</body>
我还想使用AJAX从MYSQL数据库获取数据,显示当前的速度。我已经编写了查询,但我不知道如何在此代码中使用。
请告诉我方法,我是新人,所以我不知道如何使用 Highcharts
这是我的 PHP 代码:
$data = mysql_query("SELECT speed FROM gps WHERE DeviceId=25 ORDER BY TIME DESC LIMIT 1")
or die(mysql_error());
$table = array();
$table['cols'] = array(
array('label' => 'Speed', 'type' => 'number')
);
$rows = array();
while ($nt = mysql_fetch_array($data))
{
$temp = array();
$temp[] = array('v' => $nt['speed']);
$rows[]['c'] = $temp;
}
$table['rows'] = $rows;
$jsonTable = json_encode($table);
请告诉我如何在上面的 HighChart 中使用它
最佳答案
很可能您未能加载代码所依赖的 jQuery。在加载 highcharts 之前添加此代码应该可以解决问题。
<script src="http://code.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script>
此外,您不能纯粹使用 JavaScript 从数据库中获取数据。您必须使用服务器脚本语言,例如 PHP、Ruby、Python、ASP.Net 等。 JavaScript 仅是客户端。
关于php - Highcharts 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20583028/