Adding Y-Axis dynamically

2019-06-23 19:55发布

问题:

is it possible to add a new y-Axis to a Highstock-chart? I've tried adding one to the options and redrawing, but that doesn't seem to work.

The documentation for HighCharts holds an addAxis()-function for the chart-object, but in HighStock this function doesn't exist. Any alternatives?

回答1:

Please take look at example http://jsfiddle.net/wvaGt/

$('#container').highcharts('StockChart',{


    yAxis: {
        title: {
            text: 'Temperature'
        },
        lineWidth: 2,
        lineColor: '#F33'
    },

    series: [{
        name: 'Temperature',
        data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6],
        color: '#F33'   
    }]
});

// the button handlera
var chart = $('#container').highcharts();
$('#add').click(function() {
    chart.addAxis({ // Secondary yAxis
        id: 'rainfall-axis',
        title: {
            text: 'Rainfall'
        },
        lineWidth: 2,
        lineColor: '#08F',
        opposite: true
    });
    chart.addSeries({
        name: 'Rainfall',
        type: 'column',
        color: '#08F',
        yAxis: 'rainfall-axis',
        data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
    });
});


回答2:

corresponding jsfiddle

yAxis: [{
        labels: {
            format: '{value} %'
        },
        min: 0,
        max: 60,
        opposite: false
}],


回答3:

The newest version of HighStock, currently 1.3.0, added support for addAxis. It was released March 22, 2013.