small change

This commit is contained in:
Ziver Koc 2018-03-06 13:32:09 +01:00
parent eb30472a76
commit 3c8c692b16
4 changed files with 32 additions and 41 deletions

View file

@ -60,17 +60,6 @@ public class ChartData {
points.add( new Point( x, y)); points.add( new Point( x, y));
setMaxMin(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){ private void setMaxMin(int x, int y){
@ -100,7 +89,7 @@ public class ChartData {
return yStrings.get(y); return yStrings.get(y);
} }
protected List<Point> getPoints(){ protected List<Point> getData(){
return points; return points;
} }
} }

View file

@ -26,7 +26,7 @@ public abstract class LineAxis extends AbstractChart{
int fontHeight = metric.getHeight(); int fontHeight = metric.getHeight();
int fontXWidth = 0; int fontXWidth = 0;
int fontYWidth = 0; int fontYWidth = 0;
for( Point p : data.getPoints() ){ for( Point p : data.getData() ){
int length; int length;
String tmp = data.getXString( p.x ); String tmp = data.getXString( p.x );
if( tmp != null ) length = metric.stringWidth( tmp ); 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)); g2.setStroke(new BasicStroke(1.5f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND));
// Y Axis // 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 // 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 // Y Axis steps and labels
// X Axis steps and labels // X Axis steps and labels

View file

@ -43,7 +43,7 @@ public class LineChart extends LineAxis{
// Draw lines // Draw lines
Point prevP = null; Point prevP = null;
for(Point p : data.getPoints()){ for(Point p : data.getData()){
if (prevP != null) if (prevP != null)
drawLine(g2, bound, xScale, yScale, prevP.x, prevP.y, p.x, p.y); drawLine(g2, bound, xScale, yScale, prevP.x, prevP.y, p.x, p.y);
prevP = p; prevP = p;

View file

@ -31,32 +31,34 @@ import java.util.logging.Level;
public class ChartTest extends JFrame{ public class ChartTest extends JFrame{
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public static void main(String[] args) { public static void main(String[] args) {
LogUtil.setLevel("zutil", Level.FINEST); LogUtil.setLevel("zutil", Level.FINEST);
ChartTest frame = new ChartTest(); ChartTest frame = new ChartTest();
frame.setVisible(true); 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 );
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); public ChartTest(){
setSize(600, 400); 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<size; i++){
data.addPoint(
i,
(int)(Math.random() * (max+Math.abs(min)) - min)
);
}
LineChart chart = new LineChart();
chart.setChartData( data );
add( chart );
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
setSize(600, 400);
}
} }