small change
This commit is contained in:
parent
eb30472a76
commit
3c8c692b16
4 changed files with 32 additions and 41 deletions
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue