Javascript Highcharts动态数据更新失败
正在尝试创建类似的图表。没有动态数据,它就像一个魅力。试图通过ajax调用和setInterval函数使数据动态化并不那么成功。我已经浏览了很多帖子,尝试了几种选择,但都没有成功。在Javascript Highcharts动态数据更新失败,javascript,highcharts,Javascript,Highcharts,正在尝试创建类似的图表。没有动态数据,它就像一个魅力。试图通过ajax调用和setInterval函数使数据动态化并不那么成功。我已经浏览了很多帖子,尝试了几种选择,但都没有成功。在和之间,我的代码是: <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> <script type="text/javascript"> $(funct
和
之间,我的代码是:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
$(function () {
$('#powerChart').highcharts({
chart: {
type: 'solidgauge'
},
credits: {
enabled: false
},
exporting: {
enabled: false
},
title: {
text: 'Power'
},
pane: {
startAngle: -90,
endAngle: 90,
background: [{ // Track for Move
outerRadius: '112%',
innerRadius: '88%',
backgroundColor: Highcharts.color(Highcharts.getOptions().colors[0])
.setOpacity(0.3)
.get(),
borderWidth: 0,
shape: 'arc'
}]
},
yAxis: {
min: 0,
max: 1500,
lineWidth: 0,
tickPositions: []
},
plotOptions: {
solidgauge: {
dataLabels: {
enabled: false
},
linecap: 'round',
stickyTracking: false,
rounded: true
}
},
series: [{
name: 'Power',
data: [{
color: Highcharts.getOptions().colors[0],
radius: '112%',
innerRadius: '88%'
}]
}]
});
var chart = $('#powerChart').highcharts();
var pac;
function reqData() {
$.ajax({
type: "GET",
url: "gegevens.php",
dataType: "JSON",
cache: "false",
success: function(data){
pac = data[0].pac,
chart.series[0].update({ data: pac })
}
});
chart.redraw();
};
setInterval(reqData, 5000);
});
</script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/highcharts-more.js"></script>
<script src="https://code.highcharts.com/modules/solid-gauge.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>
<script src="https://code.highcharts.com/modules/accessibility.js"></script>
<p><div id="powerChart" style="width: 300px; height: 200px"></div></P>
$(函数(){
$(“#powerChart”)。高图({
图表:{
类型:“solidgauge”
},
学分:{
已启用:false
},
出口:{
已启用:false
},
标题:{
文字:“电源”
},
窗格:{
startAngle:-90,
端角:90,
背景:[{//移动轨迹
外层:112%,
内半径:“88%”,
backgroundColor:Highcharts.color(Highcharts.getOptions().color[0])
.setOpacity(0.3)
.get(),
边框宽度:0,
形状:“圆弧”
}]
},
亚克斯:{
分:0,,
最高:1500,
线宽:0,
位置:[]
},
打印选项:{
solidgauge:{
数据标签:{
已启用:false
},
线头:“圆形”,
粘滞跟踪:错误,
四舍五入:对
}
},
系列:[{
名称:'电源',
数据:[{
颜色:Highcharts.getOptions().color[0],
半径:“112%”,
内半径:“88%”
}]
}]
});
var-chart=$(“#powerChart”).highcharts();
var-pac;
函数reqData(){
$.ajax({
键入:“获取”,
url:“gegevens.php”,
数据类型:“JSON”,
缓存:“false”,
成功:功能(数据){
pac=数据[0]。pac,
chart.series[0]。更新({data:pac})
}
});
chart.redraw();
};
设置间隔(reqData,5000);
});
介于
和
之间的是:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
$(function () {
$('#powerChart').highcharts({
chart: {
type: 'solidgauge'
},
credits: {
enabled: false
},
exporting: {
enabled: false
},
title: {
text: 'Power'
},
pane: {
startAngle: -90,
endAngle: 90,
background: [{ // Track for Move
outerRadius: '112%',
innerRadius: '88%',
backgroundColor: Highcharts.color(Highcharts.getOptions().colors[0])
.setOpacity(0.3)
.get(),
borderWidth: 0,
shape: 'arc'
}]
},
yAxis: {
min: 0,
max: 1500,
lineWidth: 0,
tickPositions: []
},
plotOptions: {
solidgauge: {
dataLabels: {
enabled: false
},
linecap: 'round',
stickyTracking: false,
rounded: true
}
},
series: [{
name: 'Power',
data: [{
color: Highcharts.getOptions().colors[0],
radius: '112%',
innerRadius: '88%'
}]
}]
});
var chart = $('#powerChart').highcharts();
var pac;
function reqData() {
$.ajax({
type: "GET",
url: "gegevens.php",
dataType: "JSON",
cache: "false",
success: function(data){
pac = data[0].pac,
chart.series[0].update({ data: pac })
}
});
chart.redraw();
};
setInterval(reqData, 5000);
});
</script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/highcharts-more.js"></script>
<script src="https://code.highcharts.com/modules/solid-gauge.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>
<script src="https://code.highcharts.com/modules/accessibility.js"></script>
<p><div id="powerChart" style="width: 300px; height: 200px"></div></P>
在控制台中,我不断收到指向highcharts.src.js:30511的错误,它说:
TypeError:undefined不是函数(靠近“…b.forEach…”)
。我一定是做错了什么?我知道我的ajax调用是有效的,pac
由数据[0]中的一个数字填充。pac
我不确定获取的数据是什么样子,但它应该是一个定义了y值的对象数组或一个具有y值的数组
可能有用的演示:
忘了[]。谢谢