1 23 24 package de.progra.charting.render; 25 26 import java.awt.geom.Line2D ; 27 import java.awt.geom.Point2D ; 28 import java.awt.geom.Ellipse2D ; 29 import java.awt.geom.Rectangle2D ; 30 import java.awt.geom.Area ; 31 import de.progra.charting.CoordSystem; 32 import java.awt.geom.AffineTransform ; 33 import java.awt.geom.RectangularShape ; 34 import de.progra.charting.PointToPixelTranslator; 35 import java.awt.Graphics2D ; 36 import java.awt.Color ; 37 import de.progra.charting.model.ChartDataModel; 38 39 44 public class PlotChartRenderer extends AbstractChartRenderer { 45 46 protected double shapeSize = 10.0; 47 48 53 public PlotChartRenderer(CoordSystem cs, ChartDataModel model) { 54 super(cs, model); 55 } 56 57 60 public void renderChart(Graphics2D g) { 61 ChartDataModel m = getChartDataModel(); 62 RowColorModel rcm = getRowColorModel(); 63 AffineTransform yaxis1 = getTransform(CoordSystem.FIRST_YAXIS); 64 65 int datasetcount = m.getDataSetNumber(); 66 Point2D val; 67 Point2D paint = new Point2D.Float (0f, 0f); 68 boolean numericalcolumns = m.isColumnNumeric(); 69 70 float modelVal = 0f; 71 72 RectangularShape shape; 73 74 for(int set = 0; set < datasetcount; set++) { 75 for(int value = 0; value < m.getDataSetLength(set); value++) { 76 modelVal = m.getValueAt(set, value).floatValue(); 77 78 if(modelVal != modelVal) 80 continue; 81 82 if(numericalcolumns) 83 val = new Point2D.Float (((Number )m.getColumnValueAt(set, value)).floatValue(), 84 modelVal); 85 else 86 val = new Point2D.Float ((float)value, 87 modelVal); 88 89 90 yaxis1.transform(val, paint); 91 if(paint == null) 92 continue; 93 94 g.setColor(rcm.getColor(set)); 95 96 shape = rcm.getShape(set); 97 shape.setFrame(paint.getX() - shapeSize/2, paint.getY() - shapeSize/2, shapeSize, shapeSize); 98 99 g.fill(shape); 100 } 101 } 102 } 103 } | Popular Tags |