List of usage examples for org.jfree.chart.renderer.xy XYLineAndShapeRenderer setDrawOutlines
public void setDrawOutlines(boolean flag)
From source file:com.appnativa.rare.ui.chart.jfreechart.ChartHandler.java
protected void customizeSeriesAttributes(ChartPanel chartPanel, ChartDefinition cd, Plot plot, boolean multiset) { List<RenderableDataItem> rows = cd.getSeries(); ChartInfo ci = (ChartInfo) cd.getChartHandlerInfo(); List<SeriesData> seriesData = ci.seriesData; int len = (seriesData == null) ? 0 : seriesData.size(); if (len == 0) { return;/*from w ww . ja va 2s . c o m*/ } ChartDataItem di; Paint p = null; iPainter painter; BasicStroke stroke = null; BasicStroke ostroke = null; RareBarPainter barPainter = null; AbstractRenderer r; Object o; UIColor c; PlotInformation pi = cd.getPlotInformation(); if (pi != null) { float lt = pi.getLineThickness(); float ot = pi.getOutlineThickness(); if (lt > 1) { stroke = new BasicStroke(lt); } if (ot > 1) { ostroke = (ot == lt) ? stroke : new BasicStroke(ot); } } int n = 0; for (int i = 0; i < len; i++) { SeriesData data = seriesData.get(i); di = (ChartDataItem) rows.get(data.seriesIndex); if ((di == null) || di.isEmpty()) { continue; } p = null; o = ((XYPlot) plot).getRenderer(multiset ? i : 0); if (!(o instanceof AbstractRenderer)) { continue; } UIColor fc = data.fillColor; UIColor oc = data.outlineColor; r = (AbstractRenderer) o; painter = di.getComponentPainter(); if (painter == null) { c = di.getBackground(); if (c instanceof UIColorShade) { painter = ((UIColorShade) c).getBackgroundPainter(); if (painter instanceof UISimpleBackgroundPainter) { p = painter.getBackgroundColor(); painter = null; } } else { p = c; } } if ((painter == null) && (p == null)) { painter = cd.getRangeAxis().getComponentPainter(); if (painter == null) { c = cd.getRangeAxis().getBackground(); if (c instanceof UIColorShade) { painter = ((UIColorShade) c).getBackgroundPainter(); if (painter instanceof UISimpleBackgroundPainter) { p = painter.getBackgroundColor(); painter = null; } } else { p = c; } } } if (painter != null) { if (r instanceof XYBarRenderer) { if (barPainter == null) { barPainter = new RareBarPainter(chartPanel); } XYBarRenderer xr = (XYBarRenderer) r; xr.setBarPainter(barPainter); p = ChartHelper.getPaint(painter); } else if (r instanceof BarRenderer) { if (barPainter == null) { barPainter = new RareBarPainter(chartPanel); } BarRenderer xr = (BarRenderer) r; xr.setItemMargin(0); xr.setBarPainter(barPainter); p = ChartHelper.getPaint(painter); } else { iPlatformPaint pp = painter.getPaint(50, 50); p = (pp == null) ? null : pp.getPaint(); } } if (p == null) { p = di.getBackground(); } if (p == null) { p = getDefaultColor(i); } n = multiset ? 0 : i; r.setSeriesPaint(n, p); if (r instanceof XYAreaSplineRendererEx) { r.setSeriesFillPaint(n, p); } float lt = getSeriesLineThickness(di, -1); if (lt != -1) { r.setSeriesStroke(n, new BasicStroke(lt)); } else if (stroke != null) { r.setSeriesStroke(n, stroke); } lt = getSeriesOutlineLineThickness(di, -1); if (lt != -1) { r.setSeriesOutlineStroke(n, ostroke); } else if (ostroke != null) { r.setSeriesOutlineStroke(n, ostroke); } if (r instanceof XYLineAndShapeRenderer) { ShapeStyle ss = getSeriesShapeStyle(pi, di); XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r; switch (ss) { case FILLED: renderer.setBaseShapesVisible(true); renderer.setBaseShapesFilled(true); renderer.setUseFillPaint(true); renderer.setSeriesFillPaint(n, (fc == null) ? p : fc.getPaint()); break; case OUTLINED: renderer.setBaseShapesVisible(true); renderer.setUseOutlinePaint(true); renderer.setDrawOutlines(true); renderer.setSeriesOutlinePaint(n, (oc == null) ? p : oc.getPaint()); break; case FILLED_AND_OUTLINED: renderer.setSeriesOutlinePaint(n, (oc == null) ? p : oc.getPaint()); renderer.setSeriesFillPaint(n, (fc == null) ? UIColor.WHITE.getPaint() : fc.getPaint()); renderer.setBaseShapesVisible(true); renderer.setDrawOutlines(true); renderer.setBaseShapesFilled(true); renderer.setUseFillPaint(true); renderer.setUseOutlinePaint(true); break; default: renderer.setBaseShapesVisible(false); break; } if (renderer.getBaseShapesVisible()) { renderer.setSeriesShape(n, getDefaultShape(i)); } } } }
From source file:edu.ucla.stat.SOCR.chart.ChartGenerator_JTable.java
private JFreeChart createXYSymbolicAxisChart(String title, XYDataset dataset) { SymbolAxis domainAxis = new SymbolAxis("Domain", new String[] { "A", "B", "C", "D" }); SymbolAxis rangeAxis = new SymbolAxis("Range", new String[] { "V", "X", "Y", "Z" }); XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(false, true); //renderer.setLegendItemLabelGenerator(new SOCRXYSeriesLabelGenerator()); XYPlot plot = new XYPlot(dataset, domainAxis, rangeAxis, renderer); JFreeChart chart = new JFreeChart("SymbolicAxis Demo 1", plot); if (lineCondition.indexOf("noshape") != -1) renderer.setBaseShapesVisible(false); else/* www . j a v a2 s . com*/ renderer.setBaseShapesVisible(true); if (lineCondition.indexOf("noline") != -1) renderer.setBaseLinesVisible(false); if (lineCondition.indexOf("nofill") != -1) { renderer.setBaseShapesFilled(false); renderer.setBaseFillPaint(Color.white); renderer.setDrawOutlines(true); } else { renderer.setBaseShapesFilled(true); renderer.setUseFillPaint(false); } renderer.setUseFillPaint(true); //renderer.setFillPaint(Color.white); return chart; }
From source file:edu.ucla.stat.SOCR.chart.ChartGenerator_JTable.java
private JFreeChart createXYLineChart(String title, String xLabel, String yLabel, XYDataset dataset) { // create the chart... JFreeChart chart = ChartFactory.createXYLineChart(title, // chart title xLabel, // domain axis label yLabel, // range axis label dataset, // data orientation, // orientation true, // include legend true, // tooltips false // urls );/*from ww w .j a va 2 s . c om*/ chart.setBackgroundPaint(Color.white); XYPlot plot = chart.getXYPlot(); plot.setBackgroundPaint(Color.lightGray); plot.setRangeGridlinePaint(Color.white); plot.setDomainGridlinePaint(Color.white); plot.setNoDataMessage("No data available"); // customise the renderer... XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer(); // customise the range axis... if (lineCondition.indexOf("qq") != -1) { renderer.setBaseShapesFilled(true); renderer.setSeriesLinesVisible(1, true); renderer.setSeriesShapesVisible(1, false); renderer.setSeriesLinesVisible(0, false); renderer.setSeriesShapesVisible(0, true); NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setAutoRangeIncludesZero(false); rangeAxis.setUpperMargin(0); rangeAxis.setLowerMargin(0); // rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis(); domainAxis.setAutoRangeIncludesZero(false); domainAxis.setUpperMargin(0); domainAxis.setLowerMargin(0); return chart; } NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setAutoRange(false); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); if (timeType.length() != 0) { setDateAxis(plot); } else { NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis(); domainAxis.setAutoRange(false); domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); } // System.out.println("lineCondition "+lineCondition); if (lineCondition.indexOf("noshape") != -1) renderer.setBaseShapesVisible(false); else renderer.setBaseShapesVisible(true); if (lineCondition.indexOf("noline") != -1) renderer.setBaseLinesVisible(false); if (lineCondition.indexOf("nofill") != -1) { renderer.setBaseShapesFilled(false); renderer.setBaseFillPaint(Color.white); renderer.setDrawOutlines(true); } else { renderer.setBaseShapesFilled(true); renderer.setUseFillPaint(false); } return chart; }