2017-03-07 6 views
0

極座標のstartAngle値をJSONの「Wind_direction」値から動的に変更したいとします。 コードは以下の通りです:最後の関数で、chart.series」以下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]]); 
    }); 
    } 
}); 
}); 

[0] .setData ...私はこのような何かを追加しようとしていた。

chart.pane.setStartAngle(direction); 

をこれがスローされますエラー:

polarOptions.pane({ startAngle: direction }); 
:「未定義のプロパティを読み取ることができません 『startAngleの』」

はまた別のアイデアをしようとしていました0

ですが、ここではエラーです: "polarOptions.paneは関数ではありません"。

私はスタックしています。助けてください。

+0

あなたは試したことがありますか? –

+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(); 

例: `polarOptions.pane.startAngle = 90` 90はあなたの値に等しい:http://jsfiddle.net/v8L381Lj/

関連する問題