ChartDirector RanSeries工具类

By | 1 5 月, 2018

RanSeries是一个工具类,产生一组随机数据,帮助测试和展示ChartDirector程序。

1. 实例化

构造方法接收一个int值,作为产生数据的种子。

RanSeries ranSeries = new RanSeries(1);

2. getSeries方法

三个参数:

  1. len(int) :数据个数
  2. minValue(double):最小值
  3. maxValue(double):最大值
double[] data = ranSeries.getSeries(10, 20, 40);

image

3. getSeries2方法

六个参数:

  1. len(int):数据个数
  2. startValue(double):第一个数据
  3. minDelta(double):相邻两数据最小差值
  4. maxDelta(double):相邻两数据最大差值
  5. lowerLimit(double):数据最小下限
  6. upperLimit(double):数据最大上限
double[] data = ranSeries.getSeries2(10, 40, -20, 20, 15, 100);

image

4. get2DSeries方法

适用情景:根据X轴数据个数和Y轴数据个数,随机分配Z轴的数据。z = y*xLen + x,Z的长度是xLen * yLen。

四个参数:

  1. xLen(int):X方向的个数
  2. yLen(int):Z方向的个数
  3. minValue(double):最小值
  4. maxValue(double):最大值
double[] dataX = ranSeries.getSeries(5, 1, 10);
double[] dataY = ranSeries.getSeries(5, 0.2, 0.8);
int xLen = dataX.length;
int yLen = dataY.length;
double[] dataZ = ranSeries.get2DSeries(xLen, yLen, 3, 5);

5. getGaussianSeries方法

随机生成高斯序列,适用场景:知道数据的平均值和标准差,得到随机序列。

三个参数:

  1. len(int):数据个数
  2. mean(double):平均值
  3. stdDev(double):标准差
double[] data = ranSeries.getGaussianSeries(20, 10, 4);

image

6. getDateSeries方法

随机生成时间序列,四个参数:

  1. len(int):数据个数
  2. startTime(Date):起始时间
  3. ticInc(double):日期间隔,单位是秒,86400代表一天
  4. weekDayOnly(boolean):可选参数,true表示跳过Saturday和Sunday,默认是false。
Date[] dates = ranSeries.getDateSeries(
    7, new GregorianCalendar(2007, 0, 1).getTime(), 86400, true);
Arrays.stream(dates).forEach(date -> {
  System.out.println(date.toLocaleString());
});