RanSeries是一个工具类,产生一组随机数据,帮助测试和展示ChartDirector程序。
1. 实例化
构造方法接收一个int值,作为产生数据的种子。
RanSeries ranSeries = new RanSeries(1);
2. getSeries方法
三个参数:
- len(int) :数据个数
- minValue(double):最小值
- maxValue(double):最大值
double[] data = ranSeries.getSeries(10, 20, 40);
3. getSeries2方法
六个参数:
- len(int):数据个数
- startValue(double):第一个数据
- minDelta(double):相邻两数据最小差值
- maxDelta(double):相邻两数据最大差值
- lowerLimit(double):数据最小下限
- upperLimit(double):数据最大上限
double[] data = ranSeries.getSeries2(10, 40, -20, 20, 15, 100);
4. get2DSeries方法
适用情景:根据X轴数据个数和Y轴数据个数,随机分配Z轴的数据。z = y*xLen + x,Z的长度是xLen * yLen。
四个参数:
- xLen(int):X方向的个数
- yLen(int):Z方向的个数
- minValue(double):最小值
- 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方法
随机生成高斯序列,适用场景:知道数据的平均值和标准差,得到随机序列。
三个参数:
- len(int):数据个数
- mean(double):平均值
- stdDev(double):标准差
double[] data = ranSeries.getGaussianSeries(20, 10, 4);
6. getDateSeries方法
随机生成时间序列,四个参数:
- len(int):数据个数
- startTime(Date):起始时间
- ticInc(double):日期间隔,单位是秒,86400代表一天
- 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()); });