public static ChartHelper generateTimeSeriesChart(XYDataset dataset, String chartTitle, String yLabel, String xLabel, List domainMarkers) { boolean legend = false; boolean tooltips = true; boolean urls = true; JFreeChart chart = ChartFactory.createTimeSeriesChart(null, yLabel, xLabel, dataset, legend, tooltips, urls); chart.setBackgroundPaint(Color.WHITE); chart.setBorderVisible(false); XYPlot plot = chart.getXYPlot(); NumberAxis yAxis = (NumberAxis) plot.getRangeAxis(); TickUnitSource units = NumberAxis.createIntegerTickUnits(); yAxis.setStandardTickUnits(units); if (domainMarkers != null && !domainMarkers.isEmpty()) { for (Iterator iterator = domainMarkers.iterator(); iterator.hasNext();) { ValueMarker valueMarker = (ValueMarker) iterator.next(); valueMarker.setLabelAnchor(RectangleAnchor.TOP_LEFT); valueMarker.setLabelTextAnchor(TextAnchor.TOP_RIGHT); plot.addDomainMarker(valueMarker); } } XYDifferenceRenderer xyDifferenceRenderer = new XYDifferenceRenderer(COLOR_RED_PAINT, COLOR_GREEN_PAINT, true); xyDifferenceRenderer.setSeriesPaint(0, new Color(255, 0, 0)); xyDifferenceRenderer.setSeriesPaint(1, new Color(51, 204, 51)); xyDifferenceRenderer.setShape(new Ellipse2D.Double(-1.5, -1.5, 3.0, 3.0)); plot.setRenderer(xyDifferenceRenderer); return new ChartHelper(chart); }
xyDifferenceRenderer.setSeriesPaint(0, ChartDefaults.RED); xyDifferenceRenderer.setSeriesPaint(1, ChartDefaults.BRIGHT_GREEN); xyDifferenceRenderer.setShape(new Ellipse2D.Double(-3.0, -3.0, 6.0, 6.0)); xyDifferenceRenderer.setBaseStroke(ChartDefaults.defaultStroke); xyDifferenceRenderer.setStroke(ChartDefaults.defaultStroke);