The next thing to do is check on the data that shows up in GraphPanel with something like this:
public GraphPanel(float[] p, float[] i)
{
principleData = p;
interestData = i;
System.out.printf("principalData = %s%ninterestData = %s%n",
java.util.Arrays.toString(principalData),
java.util.Arrays.toString(interestData));
font = new Font("lucida sans regular", Font.PLAIN, 16);
setBackground(Color.white);
}
Start tracking down where things aren't going the way you'd like.