buildTicks method

List<String> buildTicks(
  1. BaseScale<dynamic, num> scale
)

Implementation

List<String> buildTicks(BaseScale scale) {
  if (scale is CategoryScale) {
    return scale.domain;
  }
  List<String> ticks = [];
  if (scale is TimeScale) {
    for (var ele in scale.ticks) {
      if (formatFun != null) {
        ticks.add(formatFun!.call(ele.millisecondsSinceEpoch));
      } else {
        ticks.add(defaultTimeFormat(ele));
      }
    }
    return ticks;
  }
  if (scale is LinearScale) {
    int count = scale.tickCount;
    num interval = (scale.domain.last - scale.domain.first) / count;
    for (int i = 0; i <= count; i += 1) {
      num v = scale.domain.first + i * interval;
      if (formatFun != null) {
        ticks.add(formatFun!.call(v));
      } else {
        ticks.add(formatNumber(v));
      }
    }
  }
  return ticks;
}