在绘制和导出图形时删除数据标签

时间:2015-01-20 09:06:29

标签: highcharts

所以,我有堆积条形图,我想隐藏数据标签,因为它们不适合该区域。例如,在类别8中,根本没有数据标签“4”。 这是一个类似的问题: Highcharts stacked bar chart hide data labels not to overlap 但我的问题是我还需要在导出时隐藏标签

我在生成图表以隐藏labales

后完成了此代码
  $.each(this.chartObject.series,function(i,data_series){
           if (data_series.visible){
              $.each(data_series.data,function(j,data){
                if(data.yBottom != null && data.plotY != null){
                  if(data.yBottom - data.plotY < 15){
                    if (typeof data.dataLabel != 'undefined'){
                       data.dataLabel.hide();
                     }
                  }
               }
             });
            }
         });

1 个答案:

答案 0 :(得分:2)

您需要将循环从回调移动到图表/事件/加载。

chart: {
        events: {
            load: function () {
                var chart = this;

                $.each(chart.series, function (i, serie) {
                    $.each(serie.data, function (j, data) {

                            if (data.yBottom - data.plotY < 15) data.dataLabel.hide();
                    });
                });
            }
        },
        renderTo: 'chart',
        defaultSeriesType: 'bar'
    },

示例:http://jsfiddle.net/HA5xE/20