创建图表后更改plotBands选项

时间:2014-02-20 16:50:01

标签: highcharts

你是否可以在plotBands中使用“通配符”og最小/最大值为/从值?

喜欢这里http://jsfiddle.net/CBE9R/1/

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

            tickInterval: 24 * 3600 * 1000, // one day
            type: 'datetime'
        },
        yAxis: {
             plotBands: [{ 
                color: 'green',
                from: 150,
                to: ''
                },{ 
                color: 'red',
                from: '',
                to: '150'
                }]
        },

        series: [{
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4],
            pointStart: Date.UTC(2010, 0, 1),
            pointInterval: 24 * 3600 * 1000
        }]
    });
}); 

如果不知道图表的最小值/最大值,有没有办法将红色从底部设置为150,从150设置为顶部为绿色?

1 个答案:

答案 0 :(得分:1)

可以在呈现图表后使用API​​完成:

var chart = $('#container').highcharts();
var extremes = chart.yAxis[0].getExtremes();
var maxY = extremes.max;
var minY = extremes.min;

chart.yAxis[0].addPlotBand({
            color: 'green',
            from: 150,
            to: maxY
});
chart.yAxis[0].addPlotBand({
            color: 'red',
            from: minY,
            to: '150'
});

函数getExtremes()返回轴的当前极值(dataMax,dataMin,max和min轴值)。这些值用于设置适当的波段。注意:如果硬编码值(150)介于minY和maxY之间,则应进行额外检查。

查看更新的example at jsfiddle