我想从JSON' Wind_direction'动态更改极坐标图表上的startAngle值。值。 代码如下:
$(function() {
$.getJSON('wind_graph.php?callback=?', function(dataWind) {
var direction = Wind_direction;
var polarOptions = {
chart: {
polar: true,
events : {
load : function () {
setInterval(function(){
RefreshDataWind();
}, 1000);
}
}
},
title: {
text: 'Wind Direction'
},
pane: {
startAngle: direction,
},
xAxis: {
tickInterval: 15,
min: 0,
max: 360
},
plotOptions: {
series: {
pointStart: 0,
pointInterval: 30,
},
}
};
// The polar chart
$('#graph-1').highcharts(Highcharts.merge(polarOptions, {
yAxis: {
tickInterval: 5,
min: 0,
max: 25,
visible: false
},
series: [{
type: 'line',
name: 'Direction',
data: [
[0, 0],
[direction, 20]
],
}
]
}));
function RefreshDataWind()
{
var chart = $('#graph-1').highcharts();
$.getJSON('wind_graph.php?callback=?', function(dataWind)
{
var direction = Wind_direction;
chart.series[0].setData([[0,0],[direction, 20]]);
});
}
});
});
在最后一个函数中,在&chart;系列[0] .setData下面......我试图添加这样的东西:
chart.pane.setStartAngle(direction);
但这会引发错误:"无法读取属性' startAngle'未定义"
还在尝试另一个想法:
polarOptions.pane({ startAngle: direction });
但这里有错误:" polarOptions.pane不是函数"。
所以我堆叠了。请求帮助。
答案 0 :(得分:1)
您应该可以使用Chart.update()更新所有图表选项。不幸的是,它看起来对窗格没有任何影响 - 我报告了问题here。
现在,您可以通过破坏和创建新图表来以旧式方式更新窗格 - http://jsfiddle.net/highcharts/qhY8C/
另一种可能性是尝试解决方法 - 为窗格设置选项,删除窗格并更新轴 - 它应该创建一个带有新选项的新窗格。
const xAxis = chart.xAxis[0];
chart.options.pane.startAngle = 45;
Highcharts.erase(chart.panes, xAxis.pane);
chart.yAxis[0].update(null, false);
xAxis.update();