cumulative method

List<TimeSeriesPoint> cumulative({
  1. required DateTime start,
  2. required DateTime end,
  3. required Duration interval,
  4. double startValue = 0,
  5. double incrementMean = 1,
  6. double incrementStdDev = 0.5,
})

Generates cumulative sum data.

Implementation

List<TimeSeriesPoint> cumulative({
  required DateTime start,
  required DateTime end,
  required Duration interval,
  double startValue = 0,
  double incrementMean = 1,
  double incrementStdDev = 0.5,
}) {
  final points = <TimeSeriesPoint>[];
  var current = start;
  var value = startValue;

  while (!current.isAfter(end)) {
    points.add(TimeSeriesPoint(timestamp: current, value: value));
    value += _random.normal(incrementMean, incrementStdDev).abs();
    current = current.add(interval);
  }

  return points;
}