0

http://jsfiddle.net/wtftc/cGbUh/

$(function () {
$('#container').highcharts({
    chart: {
        plotBorderWidth: 1
    },

    xAxis: {
    },
    yAxis: [{
        startOnTick: true,
        endOnTick: true,
    }, {
        opposite: true,
        title: {
            text: null,   
        }
    }],
    title: {
        text: '',   
    },

    series: [{
        data: [-67900.92, 454001.7, -204238.28, 322154.52, 162814.29, 940881.87, 454987.58, -190981.9, 77289.43, -578758.66, 232812.59, -553224.3, -161440.06, 203872.86, -487226.65, 582178.18, 88564.43, 250057.57, -62186.0600000001, 377721.25, -196420.64, 38713.0099999999, 284969.83, 166221.67],
    }]
});


// the button action
$('#button').click(function() {
    var chart = $('#container').highcharts();
    var yAxis = chart.yAxis[0];
    yAxis.options.startOnTick = false;
    yAxis.options.endOnTick = false;

    chart.yAxis[0].setExtremes(-1034970.057, 1034970.057);
});
});

私がやろうとしていることのjsfiddleの例を作成しました。例のデータを使用してチャートを読み込み、軸にカスタム値を設定したいと考えています。私が設定している極値は -1034970.057、1034970.057 です。y 軸の値を対称にしたいからです。

しかし、グラフで最終的に得られるのは、-1.5m と +1.5m ではなく、-1.5m と +3m の y 軸の極値です。左右対称になるようにお願いしていますが、極値設定ボタンを押すと、左右対称ではないことがわかります。

私のデータは動的で、ユーザーが見ているページの設定に基づいて変化するため、このデータは私が遭遇する可能性のある多くのシナリオの 1 つの例にすぎません。これは、ティック間隔またはティック カウントをハード コードできないことを意味します。これを対称にする方法はありますか?

4

1 に答える 1

2

チャートで start/endOnTick 設定を false に設定し、クリック時に true に設定することで機能しました。

http://jsfiddle.net/uNvvk/

yAxis: [{
        startOnTick: false,
        endOnTick: false,
    }, {


yAxis.options.startOnTick = true;
yAxis.options.endOnTick = true;

なぜそれが機能するのかわかりません!

于 2013-03-28T22:34:18.170 に答える