Program: Grapher

Grapher is a simple program to read a table of numbers and graph them. The input format is two or more lines that each contain an X and a Y value. The output is an on-screen display that can also be printed. Figure 12-7 shows the results of running it with the following simple data; the first column is the X coordinate and the second is the Y coordinate of each point. The program scales the data to fit the window.

1.5  5
1.7  6
1.8  8
2.2  7
Grapher in action

Figure 12-7. Grapher in action

Example 12-8 shows the code.

Example 12-8. Grapher.java

import com.darwinsys.util.Debug; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.*; /** Simple Graphing program. */ public class Grapher extends JPanel { /** Multiplier for range to allow room for a border */ public final static float BORDERFACTOR = 1.1f; /* Small inner class to hold x, y. Called Apoint to differentiate * from java.awt.Point. */ class Apoint { float x; float y; public String toString( ) { return "Apoint("+x+","+y+")"; } } /** The list of Apoint points. */ protected Vector data; /** The minimum and maximum X values */ protected float minx = Integer.MAX_VALUE, maxx = Integer.MIN_VALUE; /** The minimum and maximum Y values */ protected float miny = Integer.MAX_VALUE, maxy = Integer.MIN_VALUE; /** The number of data points */ protected int n; /** The range of X and Y values */ protected ...

Get Java Cookbook now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.