| 
0102
 03
 04
 05
 06
 07
 08
 09
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 
 | package stdlib;
/* ***********************************************************************
 *  This data type supports simple client code to create dynamic
 *  histograms of the frequency of occurrence of values in [0, N).
 *  The frequencies are kept in an instance-variable array, and
 *  an instance variable max tracks the maximum frequency (for scaling).
 *************************************************************************/
public class XHistogram {
  private final double[] freq;   // freq[i] = # occurences of value i
  private double max;            // max frequency of any value
  // Create a new histogram.
  public XHistogram(int N) {
    freq = new double[N];
  }
  // Add one occurrence of the value i.
  public void addDataPoint(int i) {
    freq[i]++;
    if (freq[i] > max) max = freq[i];
  }
  // draw (and scale) the histogram.
  public void draw() {
    StdDraw.setYscale(0, max);
    StdStats.plotBars(freq);
  }
}
 |