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

Remove data labels when ploting and exporting graphs

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

我在生成图形以隐藏标签后完成了这段代码

  $.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();
                     }
                  }
               }
             });
            }
         });

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

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