diff --git a/src/zutil/chart/ChartData.java b/src/zutil/chart/ChartData.java index ff53b73..5d159df 100755 --- a/src/zutil/chart/ChartData.java +++ b/src/zutil/chart/ChartData.java @@ -60,17 +60,6 @@ public class ChartData { points.add( new Point( x, y)); setMaxMin(x, y); } - public void addPoint(int y){ - points.add( new Point(maxX, y)); - maxX++; - setMaxMin(maxX, y); - } - public void addPoint(String x, int y){ - xStrings.put(maxX, x); - points.add( new Point(maxX, y)); - maxX++; - setMaxMin(maxX, y); - } private void setMaxMin(int x, int y){ @@ -100,7 +89,7 @@ public class ChartData { return yStrings.get(y); } - protected List getPoints(){ + protected List getData(){ return points; } } diff --git a/src/zutil/chart/LineAxis.java b/src/zutil/chart/LineAxis.java index 2c606ec..3a1c3fd 100755 --- a/src/zutil/chart/LineAxis.java +++ b/src/zutil/chart/LineAxis.java @@ -26,7 +26,7 @@ public abstract class LineAxis extends AbstractChart{ int fontHeight = metric.getHeight(); int fontXWidth = 0; int fontYWidth = 0; - for( Point p : data.getPoints() ){ + for( Point p : data.getData() ){ int length; String tmp = data.getXString( p.x ); if( tmp != null ) length = metric.stringWidth( tmp ); @@ -57,9 +57,9 @@ public abstract class LineAxis extends AbstractChart{ g2.setStroke(new BasicStroke(1.5f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND)); // Y Axis - g2.draw( new Line2D.Double( origo.getX(), PADDING, origo.getX(), origo.getY() )); + g2.draw( new Line2D.Double( origo.getX(), PADDING, origo.getX(), origo.getY()+PADDING/2 )); // X Axis - g2.draw( new Line2D.Double( origo.getX(), origo.getY(), width-PADDING, origo.getY() )); + g2.draw( new Line2D.Double( origo.getX()-PADDING/2, origo.getY(), width-PADDING, origo.getY() )); // Y Axis steps and labels // X Axis steps and labels diff --git a/src/zutil/chart/LineChart.java b/src/zutil/chart/LineChart.java index d3f62db..5ea4e69 100755 --- a/src/zutil/chart/LineChart.java +++ b/src/zutil/chart/LineChart.java @@ -43,7 +43,7 @@ public class LineChart extends LineAxis{ // Draw lines Point prevP = null; - for(Point p : data.getPoints()){ + for(Point p : data.getData()){ if (prevP != null) drawLine(g2, bound, xScale, yScale, prevP.x, prevP.y, p.x, p.y); prevP = p; diff --git a/test/zutil/chart/ChartTest.java b/test/zutil/chart/ChartTest.java index 25fe105..65d1e13 100755 --- a/test/zutil/chart/ChartTest.java +++ b/test/zutil/chart/ChartTest.java @@ -31,32 +31,34 @@ import java.util.logging.Level; public class ChartTest extends JFrame{ - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; - public static void main(String[] args) { - LogUtil.setLevel("zutil", Level.FINEST); - ChartTest frame = new ChartTest(); - frame.setVisible(true); - } - - public ChartTest(){ - ChartData data = new ChartData(); - data.addPoint(0,0); - data.addPoint(1,1); - data.addPoint(2,2); - data.addPoint(3,3); - data.addPoint(4,4); - data.addPoint(5,5); - data.addPoint(6,6); - data.addPoint(7,7); - data.addPoint(8,8); - - LineChart chart = new LineChart(); - chart.setChartData( data ); - add( chart ); + public static void main(String[] args) { + LogUtil.setLevel("zutil", Level.FINEST); + ChartTest frame = new ChartTest(); + frame.setVisible(true); + } - setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); - setSize(600, 400); - } + public ChartTest(){ + ChartData data = new ChartData(); + + int min = (int)(Math.random() * -10000); + int max = (int)(Math.random() * 10000); + int size = (int)(Math.random() * 100); + + for (int i=0; i