图表创建/下钻后,Highcharts会删除标签

时间:2013-02-26 06:46:57

标签: javascript jquery highcharts drilldown

我在highcharts中有一个图表,它有2组深入数据加上顶层。当我到达最后一个图表时,有多达100个xAxis类别。因此,标签变得不可读。我正在运行这段代码,试图在最后一次向下钻取时禁用标签。

chart.options.xAxis[0].labels.enabled = false;

这是在chart.redraw();

之前运行的

由于某种原因它仍然显示标签,甚至在使用console.log时,我可以看到它被设置为禁用。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以为钻取对象添加额外参数,

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

drilldown: {
                    name: 'Firefox versions',
                    categories: ['Firefox 2.0', 'Firefox 3.0', 'Firefox 3.5', 'Firefox 3.6', 'Firefox 4.0'],
                    enabledLabels:false,
                    data: [0.20, 0.83, 1.58, 13.12, 5.43],
                    color: colors[1]
                }

修改setChart()函数,将此参数添加到系列中。

function setChart(name, categories, data, color,labels) {
        chart.xAxis[0].setCategories(categories, false);
        chart.series[0].remove(false);
        chart.addSeries({
            name: name,
            data: data,
            enabledLabels:labels,
            color: color || 'white'
        }, false);
        chart.redraw();
    }

然后使用formatter(用于标签)http://api.highcharts.com/highcharts#xAxis.labels.formatter来检查是否应显示标签。

xAxis: {
            categories: categories,
            labels:{
                formatter:function(){
                    if(!this.axis.series[0].options.enabledLabels && this.axis.series[0].options.enabledLabels!=undefined)
                    {
                       return null;
                    }
                    else
                    {
                        return this.value;
                    }

                }
            }
        },