2017-03-07 1 views
0

극좌표 차트의 startAngle 값을 JSON 'Wind_direction'값에서 동적으로 변경하고 싶습니다. 코드는 다음과 같습니다 : 마지막 기능에서HighCharts의 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.series [0] .setData ... 나는 이런 식으로 뭔가를 추가하려고했다 '아래 :

chart.pane.setStartAngle(direction); 

을하지만이 발생합니다 오류 : "속성을 읽을 수 없습니다 정의의 'startAngle로부터'"

또 다른 아이디어를 시도하고 있었다 :

polarOptions.pane({ startAngle: direction }); 
을 0

하지만 여기 오류 : "polarOptions.pane이 함수가 아닙니다."

그래서 저는 스택입니다. 제발 도와주세요.

+0

당신이 봤어'polarOptions.pane.startAngle = 90' (90)이 당신의 값과 동일 어디? –

+0

아니요. 나는 지금 tryed. 차트에서 아무것도 변경되지 않고 콘솔 로그의 오류 만 사라졌습니다. – Pirum

+0

예. Chart.update() 함수를 사용하여 인터페이스를 업데이트해야하기 때문에 예. 여기를 확인하십시오 : http://api.highcharts.com/highcharts/Chart.update –

답변

0

모든 차트 옵션을 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(); 

예 : http://jsfiddle.net/v8L381Lj/

관련 문제