com.ijchart.xychart.util
Class DatasetUtil

java.lang.Object
  extended by com.ijchart.xychart.util.DatasetUtil

public abstract class DatasetUtil
extends java.lang.Object

Title: IJChart

Description: a chart library for the Java(tm) platform.

数据集工具类.

Copyright: Copyright (c) 2013

Company:

Version:
1.0
Author:
zhang feng min,shanghai china. Contract me by email.

Constructor Summary
DatasetUtil()
           
 
Method Summary
static double calculateDatasetTotalForPieChart(SingleRowDataset dataset)
          计算饼图数据集的所有数据的和,小于等于0的数据会忽略.
static XYNumberChartData[] calculateDateMovingAverageDatas(java.util.List xyNumberData, int skipDays, int averageLen)
          计算月移动平均值.
static XYNumberChartData[] calculateMovingAverageDatas(java.util.List xyNumberData, int skip, int averageLen)
          计算移动平均值.
static IntervalXYNumberChartData[] convertToHistogramData(double[] values, int bins, double minimum, double maximum, HistogramType type)
          计算直方图数据.
static IntervalXYNumberChartData[] convertToHistogramData(double[] values, int bins, HistogramType type)
          计算直方图数据.
static IMatrixDataset convertToHistogramDataset(IMatrixDataset dataset, int bins, double minimum, double maximum, HistogramType type)
          把数值类型的数据集转化为直方图数据集.
static IMatrixDataset convertToHistogramDataset(IMatrixDataset dataset, int bins, HistogramType type)
          把数值类型的数据集转化为直方图数据集.
static IMatrixDataset createMovingAverageOHLCDataset(IMatrixDataset sourceDataset, java.lang.String rowKeyPrefix, java.lang.String rowKeySuffix, int averageLen)
          根据输入的数据集创建移动平均值数据集,源数据集中的数据必须是OHLCChartData.
static int[] findDataPosition(IMatrixDataset dataset, IChartData data)
          寻找数据在数据集中的位置.
static IChartData[] findMinAndMaxChartData(IMatrixDataset dataset)
          寻找数据集的最小值和最大值.
static XYNumberChartData[] getDatasByFunction(IFunction function, double start, double end, int samples)
          根据函数计算图表的数值.
static NumberRange getDatasetYRangeForStackBarRender(IMatrixDataset dataset)
          计算数据集的y值的范围,这个数据集是用于 XYStackedBarRender.
static IChartData[] getMinAndMaxValue(IMatrixDataset dataset, java.util.Comparator comp)
          计算数据集的最小值和最大值.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DatasetUtil

public DatasetUtil()
Method Detail

getDatasetYRangeForStackBarRender

public static NumberRange getDatasetYRangeForStackBarRender(IMatrixDataset dataset)
计算数据集的y值的范围,这个数据集是用于 XYStackedBarRender.

Parameters:
dataset - IMatrixDataset 数据集,数据集中的每个数据是 NumberChartData.
Returns:
NumberRange 数据范围 (不为null).

getMinAndMaxValue

public static IChartData[] getMinAndMaxValue(IMatrixDataset dataset,
                                             java.util.Comparator comp)
计算数据集的最小值和最大值.

Parameters:
dataset - IMatrixDataset 数据集.
comp - Comparator 比较器 (可为null).
Returns:
IChartData[] 数组(可能为null),第一个值是最小值,第二个值是最大值.

createMovingAverageOHLCDataset

public static IMatrixDataset createMovingAverageOHLCDataset(IMatrixDataset sourceDataset,
                                                            java.lang.String rowKeyPrefix,
                                                            java.lang.String rowKeySuffix,
                                                            int averageLen)
根据输入的数据集创建移动平均值数据集,源数据集中的数据必须是OHLCChartData.

Parameters:
sourceDataset - IMatrixDataset 源数据集 (可为null).
rowKeyPrefix - String 此前缀用于填充到原rowKey的前面 (可为null).
rowKeySuffix - String 此前缀用于填充到原rowKey的后面 (可为null).
averageLen - int 计算移动平均值用到的相邻的数据的个数.
Returns:
IMatrixDataset 新的数据集,如果dataset为null则返回null,否则不为null.新数据集中的每个数据对象 是DateNumberChartData.

findMinAndMaxChartData

public static IChartData[] findMinAndMaxChartData(IMatrixDataset dataset)
寻找数据集的最小值和最大值.

Parameters:
dataset - IMatrixDataset 数据集 (不可为null).
Returns:
IChartData[] 第一个值是最小值,第二个值是最大值.

calculateDatasetTotalForPieChart

public static double calculateDatasetTotalForPieChart(SingleRowDataset dataset)
计算饼图数据集的所有数据的和,小于等于0的数据会忽略.

Parameters:
dataset - SingleRowDataset 数据集 (不可为null).
Returns:
double 所有数据的和.

convertToHistogramDataset

public static IMatrixDataset convertToHistogramDataset(IMatrixDataset dataset,
                                                       int bins,
                                                       HistogramType type)
把数值类型的数据集转化为直方图数据集.

Parameters:
dataset - IMatrixDataset 数据集,数据集中的每一个数据是NumberChartData. (不可为null).
bins - int 数值的个数,大于等于1.
type - HistogramType 直方图的图表类型 (不可为null).
Returns:
IMatrixDataset 转化后的数据集.

convertToHistogramDataset

public static IMatrixDataset convertToHistogramDataset(IMatrixDataset dataset,
                                                       int bins,
                                                       double minimum,
                                                       double maximum,
                                                       HistogramType type)
把数值类型的数据集转化为直方图数据集.

Parameters:
dataset - IMatrixDataset 数据集,数据集中的每一个数据是NumberChartData. (不可为null).
bins - int 数值的个数,大于等于1.
minimum - double bin范围的最小值.
maximum - double bin范围的最大值.
type - HistogramType 直方图的图表类型 (不可为null).
Returns:
IMatrixDataset 转化后的数据集.

convertToHistogramData

public static IntervalXYNumberChartData[] convertToHistogramData(double[] values,
                                                                 int bins,
                                                                 HistogramType type)
计算直方图数据.

Parameters:
values - double[] 要转化的数值数组.
bins - int 数值的个数,大于等于1.
type - HistogramType 直方图的图表类型 (不可为null).
Returns:
IMatrixDataset 转化后的数据集.

convertToHistogramData

public static IntervalXYNumberChartData[] convertToHistogramData(double[] values,
                                                                 int bins,
                                                                 double minimum,
                                                                 double maximum,
                                                                 HistogramType type)
计算直方图数据.

Parameters:
values - double[] 要转化的数值数组.
bins - int 数值的个数,大于等于1.
minimum - double bin范围的最小值.
maximum - double bin范围的最大值.
type - HistogramType 直方图的图表类型 (不可为null).
Returns:
IMatrixDataset 转化后的数据集.

getDatasByFunction

public static XYNumberChartData[] getDatasByFunction(IFunction function,
                                                     double start,
                                                     double end,
                                                     int samples)
根据函数计算图表的数值.

Parameters:
function - IFunction 函数 (不可为null).
start - double 起始值.
end - double 终止值.
samples - int 样本数,必须大于1.
Returns:
XYNumberChartData[]

calculateMovingAverageDatas

public static XYNumberChartData[] calculateMovingAverageDatas(java.util.List xyNumberData,
                                                              int skip,
                                                              int averageLen)
计算移动平均值.

Parameters:
xyNumberData - List 数据集合,每一个数据是XYNumberChartData (不可为null).
skip - int 忽略的数据个数.
averageLen - int 计算移动平均值用到的相邻的数据的个数.
Returns:
XYNumberChartData[] 计算后的数据数组.

calculateDateMovingAverageDatas

public static XYNumberChartData[] calculateDateMovingAverageDatas(java.util.List xyNumberData,
                                                                  int skipDays,
                                                                  int averageLen)
计算月移动平均值.

Parameters:
xyNumberData - List 数据集合,每一个数据是XYNumberChartData (不可为null).
skipDays - int 忽略的天数.
averageLen - int 计算移动平均值用到的相邻的数据的个数.
Returns:
XYNumberChartData[] 计算后的数据数组.

findDataPosition

public static int[] findDataPosition(IMatrixDataset dataset,
                                     IChartData data)
寻找数据在数据集中的位置.

Parameters:
dataset - IMatrixDataset 数据集,数据集中的每个数据是 NumberChartData.
data - IChartData 指定的数据对象 (可为null).
Returns:
int[] 数组的长度为2,第一个值表示行数,第二个值是列数.没有找到则返回null