org.statcato.graph
Class GraphFactory

java.lang.Object
  extended by org.statcato.graph.GraphFactory

public class GraphFactory
extends java.lang.Object

Fumnctions for generating graphs.

Since:
1.0
Version:
%I%, %G%
Author:
Margaret Yau
See Also:
org.jfree.chart

Field Summary
static java.awt.Color[] COLORS
           
static int REG_CUBIC
          Cubic regression
static int REG_EXP
          Exponential regression
static int REG_FIXEDPOW
          Fixed power regression
static int REG_LIN
          Linear regression
static int REG_LOG
          Logarithmic regression
static int REG_NONE
          No regression
static int REG_POLY
          Polynomial regression
static int REG_POW
          Power regression
static int REG_QUAD
          Quadratic regression
 
Constructor Summary
GraphFactory()
           
 
Method Summary
static java.util.Vector<java.lang.Double> computeRegressionCoeff(java.util.Vector<java.lang.Double> xVector, java.util.Vector<java.lang.Double> yVector, int regressionType, double regressionArg)
          Computes the regression coefficients for the given vectors and regression type.
static org.jfree.chart.JFreeChart createBarChart(java.lang.String title, java.lang.String xTitle, java.lang.String yTitle, org.jfree.data.category.DefaultCategoryDataset dataset, org.jfree.chart.plot.PlotOrientation orientation, boolean hasLegend)
          Creates a bar chart.
static org.jfree.chart.JFreeChart createBoxPlot(org.jfree.data.statistics.DefaultBoxAndWhiskerCategoryDataset dataset, java.lang.String title, java.lang.String xLabel, java.lang.String yLabel, boolean showLegend, boolean horizontal)
          Creates a box plot.
static org.jfree.chart.JFreeChart createHistogram(java.lang.String title, java.lang.String xTitle, java.lang.String yTitle, org.jfree.data.statistics.HistogramDataset dataset, boolean hasLegend, org.jfree.chart.axis.TickUnits units, double minBin, double minBinStart, boolean center, double yTicks)
          Creates a histogram.
static org.jfree.chart.JFreeChart createNormalQuantilePlot(java.util.Vector<java.lang.Double> YColumnVector, java.lang.String title, java.lang.String xLabel, java.lang.String yLabel, boolean isDataOnXAxis, boolean showRegressionLine)
          Creates a normal quantile plot.
static org.jfree.chart.JFreeChart createPieChart(java.lang.String title, org.jfree.data.general.DefaultPieDataset data, boolean hasLegend, boolean hasLabel)
          Creates a pie chart.
static org.jfree.chart.JFreeChart createScatterplot(org.jfree.data.xy.XYSeriesCollection seriesCollection, java.lang.String title, java.lang.String xLabel, java.lang.String yLabel, boolean showLegend, boolean showRegression, double min, double max)
          Creates a scatterplot.
static org.jfree.chart.JFreeChart createScatterplot(org.jfree.data.xy.XYSeriesCollection seriesCollection, java.lang.String title, java.lang.String xLabel, java.lang.String yLabel, boolean showLegend, int regressionType, double regressionArg, double min, double max)
          Creates a scatterplot.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REG_NONE

public static final int REG_NONE
No regression

See Also:
Constant Field Values

REG_LIN

public static final int REG_LIN
Linear regression

See Also:
Constant Field Values

REG_QUAD

public static final int REG_QUAD
Quadratic regression

See Also:
Constant Field Values

REG_CUBIC

public static final int REG_CUBIC
Cubic regression

See Also:
Constant Field Values

REG_POLY

public static final int REG_POLY
Polynomial regression

See Also:
Constant Field Values

REG_LOG

public static final int REG_LOG
Logarithmic regression

See Also:
Constant Field Values

REG_POW

public static final int REG_POW
Power regression

See Also:
Constant Field Values

REG_FIXEDPOW

public static final int REG_FIXEDPOW
Fixed power regression

See Also:
Constant Field Values

REG_EXP

public static final int REG_EXP
Exponential regression

See Also:
Constant Field Values

COLORS

public static final java.awt.Color[] COLORS
Constructor Detail

GraphFactory

public GraphFactory()
Method Detail

createNormalQuantilePlot

public static org.jfree.chart.JFreeChart createNormalQuantilePlot(java.util.Vector<java.lang.Double> YColumnVector,
                                                                  java.lang.String title,
                                                                  java.lang.String xLabel,
                                                                  java.lang.String yLabel,
                                                                  boolean isDataOnXAxis,
                                                                  boolean showRegressionLine)
Creates a normal quantile plot.

Parameters:
YColumnVector - vector of data values
title - chart title
xLabel - x axis label
yLabel - y axis label
isDataOnXAxis - whether the data is on the x axis
showRegressionLine - whether the regression line should be shown
Returns:
JFreeChart plot object

createBoxPlot

public static org.jfree.chart.JFreeChart createBoxPlot(org.jfree.data.statistics.DefaultBoxAndWhiskerCategoryDataset dataset,
                                                       java.lang.String title,
                                                       java.lang.String xLabel,
                                                       java.lang.String yLabel,
                                                       boolean showLegend,
                                                       boolean horizontal)
Creates a box plot.

Parameters:
dataset - DefaultBoxAndWhisterCategoryDataset object
title - plot title
xLabel - x-axis label
yLabel - y-axis label
showLegend - whether the legend should be shown
horizontal - whether the plot is horizontal
Returns:
JFreeChart plot object

createScatterplot

public static org.jfree.chart.JFreeChart createScatterplot(org.jfree.data.xy.XYSeriesCollection seriesCollection,
                                                           java.lang.String title,
                                                           java.lang.String xLabel,
                                                           java.lang.String yLabel,
                                                           boolean showLegend,
                                                           int regressionType,
                                                           double regressionArg,
                                                           double min,
                                                           double max)
Creates a scatterplot.

Parameters:
seriesCollection - XYSeriesCollection containing the data series
title - chart title
xLabel - x-axis label
yLabel - y-axis label
showLegend - whether the legend should be shown
showRegression - whether a regression line should be shown
regressionType - type of regression
regressionArg - regression argument
min - minimum x value
max - maximum x value
Returns:
JFreeChart object representing a scatterplot

computeRegressionCoeff

public static java.util.Vector<java.lang.Double> computeRegressionCoeff(java.util.Vector<java.lang.Double> xVector,
                                                                        java.util.Vector<java.lang.Double> yVector,
                                                                        int regressionType,
                                                                        double regressionArg)
Computes the regression coefficients for the given vectors and regression type.

Parameters:
xVector - vector of x (independent)values
yVector - vector of y (dependent) values
regressionType - type of regression
regressionArg - arguments for specific types of regression
Returns:
vector of regression coefficients

createScatterplot

public static org.jfree.chart.JFreeChart createScatterplot(org.jfree.data.xy.XYSeriesCollection seriesCollection,
                                                           java.lang.String title,
                                                           java.lang.String xLabel,
                                                           java.lang.String yLabel,
                                                           boolean showLegend,
                                                           boolean showRegression,
                                                           double min,
                                                           double max)
Creates a scatterplot.

Parameters:
seriesCollection - XYSeriesCollection containing the data series
title - chart title
xLabel - x-axis label
yLabel - y-axis label
showLegend - whether the legend should be shown
showRegression - whether a regression line should be shown
min - minimum x value
max - maximum x value
Returns:

createBarChart

public static org.jfree.chart.JFreeChart createBarChart(java.lang.String title,
                                                        java.lang.String xTitle,
                                                        java.lang.String yTitle,
                                                        org.jfree.data.category.DefaultCategoryDataset dataset,
                                                        org.jfree.chart.plot.PlotOrientation orientation,
                                                        boolean hasLegend)
Creates a bar chart.

Parameters:
title - chart title
xTitle - x-axis title
yTitle - y-axis title
dataset - bar chart dataset
orientation - chart orientation
hasLegend - whether a legend is included
Returns:
JFreeChart object representing a bar chart

createPieChart

public static org.jfree.chart.JFreeChart createPieChart(java.lang.String title,
                                                        org.jfree.data.general.DefaultPieDataset data,
                                                        boolean hasLegend,
                                                        boolean hasLabel)
Creates a pie chart.

Parameters:
title - chart title
data - pie chart dataset
hasLegend - whether a legend is included
hasLabel - whether labels for pie slices are included
Returns:
JFreeChart object representing a pie chart

createHistogram

public static org.jfree.chart.JFreeChart createHistogram(java.lang.String title,
                                                         java.lang.String xTitle,
                                                         java.lang.String yTitle,
                                                         org.jfree.data.statistics.HistogramDataset dataset,
                                                         boolean hasLegend,
                                                         org.jfree.chart.axis.TickUnits units,
                                                         double minBin,
                                                         double minBinStart,
                                                         boolean center,
                                                         double yTicks)
Creates a histogram.

Parameters:
title - title of the histogram
xTitle - x-axis label
yTitle - y-axis label
dataset - HistogramDataset object
hasLegend - whether a legend should be displayed
units - tick units object of the x-axis
minBin - bin size
minBinStart - the start of the first bin
center - whether the tick marks should be displayed in the middle of bins
yTicks - tick mark units of the x-axis
Returns:
JFreeChart object representing a histogram