code: function makeLabelsByCustomizedCategoryInterval(axis, categoryInterval, onlyTick) {
      var ordinalScale = axis.scale;
      var labelFormatter = makeLabelFormatter(axis);
      var result = [];
  
      zrUtil.each(ordinalScale.getTicks(), function (tickValue) {
          var rawLabel = ordinalScale.getLabel(tickValue);
          if (categoryInterval(tickValue, rawLabel)) {
              result.push(onlyTick
                  ? tickValue
                  : {
                      formattedLabel: labelFormatter(tickValue),
                      rawLabel: rawLabel,
                      tickValue: tickValue
                  }
              );
          }
      });
  
      return result;
  }
docs: When interval is function, the result `false` means ignore the tick. It is time consuming for large category data.