Mercurial > hg > Members > kent > SpectrumViewer
view src/Plotter.java @ 0:5c6db5d47717 default tip
first commit
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 09 Dec 2008 15:04:03 +0900 |
parents | |
children |
line wrap: on
line source
import java.awt.*; public class Plotter extends Canvas { private int maxValue, minValue; private Canvas canvas; private byte[] data; public Plotter(int minValue, int maxValue) { this.minValue=minValue; this.maxValue=maxValue; } public void paint(Graphics g) { g.drawRoundRect(0,0, getWidth(), getHeight(), 5, 5); if (data==null || data.length==0) return; int size = data.length; int height = getHeight(); float xstep = (float)this.getWidth()/(float)size; float p = (float)height/((float)maxValue-(float)minValue); // first value float value=(float)height - (data[0]-minValue)*p; for (int i=1; i<size; i++) { float prevValue; prevValue = value; value = (float)height - (data[i]-minValue)*p; assert value<=height; assert value>0; g.drawLine( (int)((i-1)*xstep), (int)prevValue, (int)((i)*xstep), (int)value); } } /* * Heigh - (value-minV)/(maxV-minV)*Height * = (Height+/ */ public void setData(byte[] data) { this.data = data; } }