如果显示的系列具有空数据,则ignoreHiddenSeries不会在X轴上隐藏值

时间:2013-02-22 23:40:51

标签: highcharts

我正在制作类似于以下http://jsfiddle.net/7FdQR/1/

的高保真图片
$(function () {
var chart;
$(document).ready(function() {
    chart = new Highcharts.Chart({
        chart: {
            renderTo: 'container',
            type: 'column'
        },
        title: {
            text: 'Stacked column chart'
        },
        xAxis: {
            categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas']
        },
        yAxis: {
            min: 0,
            title: {
                text: 'Total fruit consumption'
            },
            stackLabels: {
                enabled: true,
                style: {
                    fontWeight: 'bold',
                    color: (Highcharts.theme && Highcharts.theme.textColor) || 'gray'
                }
            }
        },
        legend: {
            align: 'right',
            x: -100,
            verticalAlign: 'top',
            y: 20,
            floating: true,
            backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColorSolid) || 'white',
            borderColor: '#CCC',
            borderWidth: 1,
            shadow: false
        },
        tooltip: {
            formatter: function() {
                return '<b>'+ this.x +'</b><br/>'+
                    this.series.name +': '+ this.y +'<br/>'+
                    'Total: '+ this.point.stackTotal;
            }
        },
        plotOptions: {
            column: {
                stacking: 'normal',
                dataLabels: {
                    enabled: true,
                    color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white'
                }
            }
        },
        series: [{
            name: 'John',
            data: [null, 3, 7, 2, null]
        }, {
            name: 'Jane',
            data: [2, 2, 3, 2, 1]
        }, {
            name: 'Joe',
            data: [3, 4, 4, 2, 5]
        }]
    });
});

});

如果你查看John的数据,你会看到苹果和香蕉的一些空值。

如果我们禁用Jane和Joe系列并仅留下John的信息,我们仍然会看到x轴上的所有水果类别,即使John的数据集中有空值而ignoreHiddenSeries也设置为true。我想在这里实现的是将x轴重新绘制为仅显示橙色,梨和葡萄标签(x轴上没有苹果和香蕉标签)。有没有办法在highcharts中这样做?

谢谢!

1 个答案:

答案 0 :(得分:0)

找到解决方案。它可能不是最好的,但它有效http://jsfiddle.net/Hm8T9/

我创建了一个小脚本并使用setExtremes()函数手动设置xAxis的分钟和最大值。

如果你曾经处理过&lt; 5个类别并且不想显示所有这些类别(如我的示例中所示),将xAxis的minRange设置为1或您需要的任何数字。

xAxis: 
{
    minRange: 1
}