4

私のハイチャートでは、ある時点で、yAxis の min、max、および tickInterval を更新する必要があります。私は3つの方法を試しました:

  1. 次のコードを試しましたが、「object# にはメソッド 'update' がありません」と表示されます。

    var extremes = chart.yAxis[i].getExtremes();
    chart.yAxis[i].update({
            min: extremes.dataMin * 1.1,
            max: extremes.dataMax * 1.1,
            tickInterval : SomeValue,
        });
    
  2. また、chart.redraw も試しました...次のコードを使用して

     chart.yAxis[i].min = extremes.dataMin * 1.1;
     chart.yAxis[i].max = extremes.dataMax * 1.1;
     chart.yAxis[i].tickInterval = SomeValue;
     chart.redraw();
    

    今回はエラーは表示されませんが、グラフも更新されません。

  3. 今回は、オプションを更新してから、新しいハイチャートを作成しようとしました:

    options.yAxis[i].min = extremes.dataMin * 1.1;
    options.yAxis[i].max = extremes.dataMax * 1.1;
    options.yAxis[i].tickInterval = SomeValue;
    chart = new Highcharts.Chart(options);
    

今回は機能しますが、新しいハイチャートを作成したくありません。別の方法でも使用しているため、古いものを更新したいです。

これがどのように機能するか教えてください。また、3番目の方法を使用して新しいハイチャートを作成する場合、別の方法で最新の「チャート」変数を取得する方法はありますか?

ありがとうございました

4

4 に答える 4

7

このハイチャート API を参照してください。

setExtremes (Number min, Number max, [Boolean redraw], [Mixed animation])

リンク: http://api.highcharts.com/highcharts#Axis.setExtremes()

jsfiddle の例もいくつかあります。

編集: tickinterval を変更するには、次を試してください:

chart.yAxis[0].options.tickInterval = markInterval;

これも上記の行の後に追加します。

chart.xAxis[0].isDirty = true;
于 2013-06-07T07:40:57.657 に答える
0

yAxis の更新メソッドをトリガーするには、他のオブジェクトを使用する必要があります。

式:

var chart = new Highcharts(config);

var axes = chart.axes; // this is all Axis object
var xAxis = axes[0]; // by array's method get axis object
var yAxis = axes[1];

// now, object is ok, next trigger update method
yAxis.update(<your attribute config>);

ハイチャートのバージョン: "4.1.9"

于 2016-03-23T04:10:53.780 に答える
-1

設定前に以下の行を追加chart.addSeries

chart.options.series = false;
chart = new Highcharts.Chart(chart.options);
chart.render();
于 2015-12-30T11:16:13.720 に答える
-1

選択肢は 1 つだけです。

$(container).highcharts({
    xAxis: {
        max: 10 //you can set the maximum here
    }
})

最大値は一度だけ定義できます。その後、その他の変更はチャートに影響しません。

chart.xAxis[0].options.max = 12; //this statement has no effect
于 2013-11-18T09:47:07.760 に答える