public DefaultHeatMapDataset(int xSamples,int ySamples,double minX,double maxX,double minY,double maxY){
  if (xSamples < 1) {
    throw new IllegalArgumentException("Requires 'xSamples' > 0");
  }
  if (ySamples < 1) {
    throw new IllegalArgumentException("Requires 'ySamples' > 0");
  }
  if (Double.isInfinite(minX) || Double.isNaN(minX)) {
    throw new IllegalArgumentException("'minX' cannot be INF or NaN.");
  }
  if (Double.isInfinite(maxX) || Double.isNaN(maxX)) {
    throw new IllegalArgumentException("'maxX' cannot be INF or NaN.");
  }
  if (Double.isInfinite(minY) || Double.isNaN(minY)) {
    throw new IllegalArgumentException("'minY' cannot be INF or NaN.");
  }
  if (Double.isInfinite(maxY) || Double.isNaN(maxY)) {
    throw new IllegalArgumentException("'maxY' cannot be INF or NaN.");
  }
  this.xSamples=xSamples;
  this.ySamples=ySamples;
  this.minX=minX;
  this.maxX=maxX;
  this.minY=minY;
  this.maxY=maxY;
  this.zValues=new double[xSamples][];
  for (int x=0; x < xSamples; x++) {
    this.zValues[x]=new double[ySamples];
  }
}

public DefaultHeatMapDataset ( int xSamples , int ySamples , double minX , double maxX , double minY , double maxY ) { if ( xSamples < 1 ) { throw new IllegalArgumentException ( "Requires 'xSamples' > 0" ) ; } if ( ySamples < 1 ) { throw new IllegalArgumentException ( "Requires 'ySamples' > 0" ) ; } if ( Double . isInfinite ( minX ) || Double . isNaN ( minX ) ) { throw new IllegalArgumentException ( "'minX' cannot be INF or NaN." ) ; } if ( Double . isInfinite ( maxX ) || Double . isNaN ( maxX ) ) { throw new IllegalArgumentException ( "'maxX' cannot be INF or NaN." ) ; } if ( Double . isInfinite ( minY ) || Double . isNaN ( minY ) ) { throw new IllegalArgumentException ( "'minY' cannot be INF or NaN." ) ; } if ( Double . isInfinite ( maxY ) || Double . isNaN ( maxY ) ) { throw new IllegalArgumentException ( "'maxY' cannot be INF or NaN." ) ; } this . xSamples = xSamples ; this . ySamples = ySamples ; this . minX = minX ; this . maxX = maxX ; this . minY = minY ; this . maxY = maxY ; this . zValues = new double [ xSamples ] [ ] ; for ( int x = 0 ; x < xSamples ; x ++ ) { this . zValues [ x ] = new double [ ySamples ] ; } }
creates a new dataset where all the z - values are initially 0 . this is a fixed size array of z - values .
