code: function (opt) {
          opt = opt || {};
  
          var tickModel = opt.tickModel || this.getTickModel();
  
          var result = createAxisTicks(this, tickModel);
          var ticks = result.ticks;
  
          var ticksCoords = map(ticks, function (tickValue) {
              return {
                  coord: this.dataToCoord(tickValue),
                  tickValue: tickValue
              };
          }, this);
  
          var alignWithLabel = tickModel.get('alignWithLabel');
          fixOnBandTicksCoords(
              this, ticksCoords, result.tickCategoryInterval, alignWithLabel, opt.clamp
          );
  
          return ticksCoords;
      }
docs: Different from `zrUtil.map(axis.getTicks(), axis.dataToCoord, axis)`,
  `axis.getTicksCoords` considers `onBand`, which is used by
  `boundaryGap:true` of category axis and splitLine and splitArea.
  @param {Object} [opt]
  @param {number} [opt.tickModel=axis.model.getModel('axisTick')]
  @param {boolean} [opt.clamp] If `true`, the first and the last
  tick must be at the axis end points. Otherwise, clip ticks
  that outside the axis extent.
  @return {Array.<Object>} [{
  coord: ...,
  tickValue: ...
  }, ...]