5

请查看:http: //jsfiddle.net/HA5xE/

所以,我有堆积条形图,当数据标签不适合该区域时,我想隐藏它们。例如类别 8,根本没有数据标签“4”。

我看到了:http ://api.highcharts.com/highcharts#plotOptions.bar.dataLabels.crop ,据我所知,它应该自动完成,但由于某种原因不起作用。

我试图以像素为单位计算系列的宽度(或高度),以通过格式化程序函数控制显示/隐藏,但我无法获得条形系列宽度。

formatter: function() {
if(this.percentage.toFixed(0)>0)
    return this.percentage.toFixed(0);
else 
    return '';
}

提前感谢您的帮助。

固定的:

formatter: function() {
if(this.point.yBottom - this.point.plotY>13)
    return this.percentage.toFixed(0);
else 
    return '';
}
4

1 回答 1

9

您可以在每个系列中的每个点进行迭代,然后检查栏的宽度并在 widht 小于 ie.15px 时销毁标签。

http://jsfiddle.net/HA5xE/1/

 $.each(chart.series,function(i,serie){
        $.each(serie.data,function(j,data){
            if(data.yBottom - data.plotY < 15)
                data.dataLabel.destroy();
        });
    });
于 2013-07-04T09:40:47.193 回答