如果系列名称=' SP'停用高级图例​​。

时间:2017-02-28 10:00:18

标签: highcharts legend

如果系列名称=' SP',我想停用图例。虽然系列名称是隐藏的,但我仍然在图例中看到符号图标。我正在使用labelFormatter来切换legend.enabled。有办法吗?

bc_legend

        function createOptionBasicColumn(chartTitle, chartCriteria, categories) {
        var options = {
            colors : ['#2f7ed8', '#0d233a', '#8bbc21', '#910000', '#1aadce', '#492970', '#f28f43', '#77a1e5', '#c42525', '#a6c96a'],
            chart : {
                renderTo : 'container',
                type : 'column',
                spacingBottom: 150,
                events: {
                    load: function() {
                        var text = this.renderer.text(chartCriteria, 5, 500).css({
                            'font-size' : 9, 
                            'width': '580px'
                        }).add();
                    }
                }
            },
            credits : {
                enabled : false
            },
            legend : {
                align: 'right',
                verticalAlign: 'middle',
                layout : 'vertical',
                labelFormatter: function() {
                    if (this.name != 'SP') {
                        enabled = true;
                    } else {
                        enabled = false;
                    }
                }       
            },
            title : {
                text : chartTitle
            },
            xAxis : {
                categories : categories
            },
            tooltip: {
                formatter: function() {
                    return this.series.name +': '+ Highcharts.numberFormat(this.y, 2) ;
                }
            },
            yAxis: {
                min: 0,
                title: {
                    text: ' '
                }
            },
            plotOptions: {
                column: {
                    pointPadding: 0.2,
                    borderWidth: 0
                }
            },
            series: []
        };

        return options;
    } 

2 个答案:

答案 0 :(得分:1)

在图表配置中,将showInLegend设置为false,以显示不应显示的系列。

series: [{
    showInLegend: false,
    data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}, {
    data: [95.6, 54.4, 29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1]
}]

示例:http://jsfiddle.net/t37auqcs/

答案 1 :(得分:0)

您可以默认隐藏图例,如果第一个系列不是SP

,则将其渲染
var chart = Highcharts.chart('container', createOptionBasicColumn(chartTitle, chartCriteria, categories))
var legend = chart.legend;
if (chart.series[0].name != "SP") {
    legend.render();
}

这是一个完整的小提琴http://jsfiddle.net/7z8ke3h6/2/