Example usage for org.jfree.chart.renderer.xy XYLineAndShapeRenderer setBaseShapesVisible

List of usage examples for org.jfree.chart.renderer.xy XYLineAndShapeRenderer setBaseShapesVisible

Introduction

In this page you can find the example usage for org.jfree.chart.renderer.xy XYLineAndShapeRenderer setBaseShapesVisible.

Prototype

public void setBaseShapesVisible(boolean flag) 

Source Link

Document

Sets the base 'shapes visible' flag and sends a RendererChangeEvent to all registered listeners.

Usage

From source file:de.fau.amos.ChartRenderer.java

/**
 * Creates Chart (JFreeChart object) using TimeSeriesCollection. Used for forecast only.
 * /*from  w w w. j  av a  2  s  .  co  m*/
 * @param collection TimeSeriesCollection that provides basis for chart.
 * @param time Time where "real" data ends.
 * @param unit Unit of displayed values (kWh,TNF,kWh/TNF)
 * @return Returns finished JFreeChart.
 */
private JFreeChart createForecastChart(final TimeSeriesCollection collection, String time, String unit) {

    // Modification of X-Axis Label
    int day = Integer.parseInt(time.substring(8, 10));
    int month = Integer.parseInt(time.substring(5, 7));
    int year = Integer.parseInt(time.substring(0, 4));
    //get Weekday
    Calendar c = Calendar.getInstance();
    c.set(year, month - 1, day, 0, 0);
    int weekDay = c.get(Calendar.DAY_OF_WEEK);

    String dayString = new DateFormatSymbols(Locale.US).getWeekdays()[weekDay] + ", " + day + ". ";
    String monthString = new DateFormatSymbols(Locale.US).getMonths()[month - 1];
    String xAxisLabel = "" + dayString + monthString + "  " + time.substring(0, 4);

    //Creation of the lineChart
    JFreeChart lineChart = ChartFactory.createTimeSeriesChart("Forecast", // title
            xAxisLabel, // x-axis label
            //            "Energy Consumption "+("1".equals(unit)?"[kWh]":("2".equals(unit)?"[kWh/TNF]":("3".equals(unit)?"[TNF]":""))),       // y-axis label
            ("1".equals(unit) ? "Energy Consumption [kWh]"
                    : ("2".equals(unit) ? "Energy Consumption [kWh/TNF]"
                            : ("3".equals(unit) ? "Produced Pieces [TNF]" : ""))),
            collection, // data
            true, // create legend?
            false, // generate tooltips?
            false // generate URLs?
    );

    //graphical modifications for LineChart
    lineChart.setBackgroundPaint(Color.white);

    XYPlot plot = lineChart.getXYPlot();
    plot.setBackgroundPaint(Color.white);
    plot.setDomainGridlinePaint(Color.white);
    plot.setRangeGridlinePaint(Color.white);
    plot.setAxisOffset(new RectangleInsets(0, 0, 0, 0));

    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer() {
        private static final long serialVersionUID = 1L;
        //         Stroke soild = new BasicStroke(2.0f);
        Stroke dashed = new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10.0f,
                new float[] { 10.0f }, 0.0f);

        @Override
        public Stroke getItemStroke(int row, int column) {
            //third series in collection -> forecast collection
            if (row == 2) {
                return dashed;
                //partial dashed->not needed now, maybe later

                //               double x = collection.getXValue(row, column);
                //               
                //               if ( x > 4){
                //                  return dashed;
                //               } else {
                //                  return soild;
                //               } 
            } else
                return super.getItemStroke(row, column);
        }
    };
    renderer.setBaseShapesVisible(false);
    renderer.setBaseShapesFilled(true);
    renderer.setBaseStroke(new BasicStroke(3));
    plot.setRenderer(renderer);

    return lineChart;
}

From source file:edu.ucla.stat.SOCR.applications.demo.PortfolioApplication2.java

void updateGraph() {
    /*   System.out.println("updateGraph get called----------------mouseClicked="+mouseClicked);
       Exception e = new Exception();/*from   w ww  .j  ava  2  s . com*/
       e.printStackTrace();*/
    //   printMatrix(COVR, "after COVR");
    //   printMatrix(CORR, "after CORR");

    //setupStockOptions();

    p_serie = new XYSeries("Stock", false);
    t_serie = new XYSeries("Tangent", false);
    m_serie = new XYSeries("M", false);
    s_serie = new XYSeries("Positives", false);

    StringBuffer text = new StringBuffer();
    text.append("mouse clicked at (Risk, Expected Return) = " + tooltip + "\n");
    //   text.append("The stock combinations are:");

    for (int i = 0; i < chartDataPoints.getPointCount(); i++) {
        double point_x = chartDataPoints.getX(i);
        double point_y = chartDataPoints.getY(i);
        p_serie.add(point_x, point_y);
        //  System.out.println("chart point " +(i+1)+" is ("+point_x+", "+point_y+")");
        if (isAllPositive(chartDataPoints.getSDPpointer(i))) {
            s_serie.add(point_x, point_y);
        }
    }

    if (show_tangent) {
        t_serie.add(t1_x, t1_y);
        t_serie.add(t2_x, t2_y);
    }

    if (mouseClicked) {
        //   System.out.println("mouse_x="+mouse_x+", mouse_y="+mouse_y);
        m_serie.add(mouse_x, mouse_y);
    }

    XYSeriesCollection ds = new XYSeriesCollection();

    ds.addSeries(m_serie);
    ds.addSeries(t_serie);
    ds.addSeries(s_serie);
    ds.addSeries(p_serie);

    JFreeChart chart = ChartFactory.createXYLineChart("", // chart title
            "Risk (Standard Deviation)", // x axis label
            "Expected Return", // y axis label
            ds, // data
            PlotOrientation.VERTICAL, false, // include legend
            true, // tooltips
            false // urls
    );
    chart.setBackgroundPaint(Color.white);
    XYPlot subplot1 = (XYPlot) chart.getPlot();
    XYLineAndShapeRenderer renderer1 = (XYLineAndShapeRenderer) subplot1.getRenderer();

    NumberAxis xAxis = (NumberAxis) subplot1.getDomainAxis();
    NumberAxis yAxis = (NumberAxis) subplot1.getRangeAxis();
    if (t2_x > 0)
        xAxis.setRange(0, t2_x);
    else
        xAxis.setRange(t2_x, 0);

    if (t2_y > 0)
        yAxis.setRange(-t2_y, t2_y);
    else
        yAxis.setRange(t2_y, -t2_y);

    renderer1.setSeriesPaint(3, Color.blue);
    renderer1.setSeriesPaint(2, Color.red);
    renderer1.setSeriesPaint(1, Color.red);
    renderer1.setSeriesPaint(0, Color.green);

    Shape shape = renderer1.getBaseShape();
    renderer1.setSeriesShape(1, shape);
    renderer1.setSeriesShape(3, shape);

    renderer1.setSeriesLinesVisible(0, false);
    renderer1.setSeriesLinesVisible(1, true);
    renderer1.setSeriesLinesVisible(2, false);
    renderer1.setSeriesLinesVisible(3, false);
    // renderer1.setLinesVisible();
    renderer1.setBaseShapesVisible(true);
    renderer1.setBaseShapesFilled(true);

    graphPanel.removeAll();
    chartPanel = new ChartPanel(chart, false);
    chartPanel.setPreferredSize(new Dimension(CHART_SIZE_X, CHART_SIZE_Y));
    chartPanel.addChartMouseListener(this);
    graphPanel.add(chartPanel);
    graphPanel.validate();
    //  super.updateGraph(chartPanel);
    //

    if (mouseClicked) {
        getRecordTable().setText(text.toString());
    } else {
        text = new StringBuffer();
        /* text.append("("+tooltip_formatter.format(minPoint.mean)+" , "+ tooltip_formatter.format(minPoint.std)+")\n");
         for (int j=0; j<numStocks; j++)
           text.append("Stock "+(j+1)+" : x["+(j+1)+"]="+tooltip_formatter.format(minPoint.x[j])+"\n");
        text.append("---\n");*/
        getRecordTable().setText(text.toString());
        ;
    }

    mouseClicked = false;
}

From source file:net.sf.jasperreports.engine.fill.DefaultChartTheme.java

protected JFreeChart createXyLineChart() throws JRException {
    JRLinePlot linePlot = (JRLinePlot) getPlot();

    ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme());
    JFreeChart jfreeChart = ChartFactory.createXYLineChart(
            evaluateTextExpression(getChart().getTitleExpression()),
            evaluateTextExpression(linePlot.getCategoryAxisLabelExpression()),
            evaluateTextExpression(linePlot.getValueAxisLabelExpression()), (XYDataset) getDataset(),
            linePlot.getOrientationValue().getOrientation(), isShowLegend(), true, false);

    configureChart(jfreeChart);/* w  w  w  .j  a  va 2s  .c  o  m*/

    // Handle the axis formating for the category axis
    configureAxis(jfreeChart.getXYPlot().getDomainAxis(), linePlot.getCategoryAxisLabelFont(),
            linePlot.getCategoryAxisLabelColor(), linePlot.getCategoryAxisTickLabelFont(),
            linePlot.getCategoryAxisTickLabelColor(), linePlot.getCategoryAxisTickLabelMask(),
            linePlot.getCategoryAxisVerticalTickLabels(), linePlot.getCategoryAxisLineColor(), false,
            (Comparable<?>) evaluateExpression(linePlot.getDomainAxisMinValueExpression()),
            (Comparable<?>) evaluateExpression(linePlot.getDomainAxisMaxValueExpression()));

    // Handle the axis formating for the value axis
    configureAxis(jfreeChart.getXYPlot().getRangeAxis(), linePlot.getValueAxisLabelFont(),
            linePlot.getValueAxisLabelColor(), linePlot.getValueAxisTickLabelFont(),
            linePlot.getValueAxisTickLabelColor(), linePlot.getValueAxisTickLabelMask(),
            linePlot.getValueAxisVerticalTickLabels(), linePlot.getValueAxisLineColor(), true,
            (Comparable<?>) evaluateExpression(linePlot.getRangeAxisMinValueExpression()),
            (Comparable<?>) evaluateExpression(linePlot.getRangeAxisMaxValueExpression()));

    XYLineAndShapeRenderer lineRenderer = (XYLineAndShapeRenderer) jfreeChart.getXYPlot().getRenderer();
    boolean isShowShapes = linePlot.getShowShapes() == null ? true : linePlot.getShowShapes();
    boolean isShowLines = linePlot.getShowLines() == null ? true : linePlot.getShowLines();
    lineRenderer.setBaseShapesVisible(isShowShapes);
    lineRenderer.setBaseLinesVisible(isShowLines);

    return jfreeChart;
}

From source file:net.sf.jasperreports.engine.fill.DefaultChartTheme.java

protected JFreeChart createTimeSeriesChart() throws JRException {
    String timeAxisLabel = evaluateTextExpression(((JRTimeSeriesPlot) getPlot()).getTimeAxisLabelExpression());
    String valueAxisLabel = evaluateTextExpression(
            ((JRTimeSeriesPlot) getPlot()).getValueAxisLabelExpression());

    ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme());
    JFreeChart jfreeChart = ChartFactory.createTimeSeriesChart(
            evaluateTextExpression(getChart().getTitleExpression()), timeAxisLabel, valueAxisLabel,
            (TimeSeriesCollection) getDataset(), isShowLegend(), true, false);

    configureChart(jfreeChart);/*from  ww  w  . ja  va 2 s  .  co m*/

    XYPlot xyPlot = (XYPlot) jfreeChart.getPlot();
    JRTimeSeriesPlot timeSeriesPlot = (JRTimeSeriesPlot) getPlot();

    XYLineAndShapeRenderer lineRenderer = (XYLineAndShapeRenderer) xyPlot.getRenderer();

    boolean isShowShapes = timeSeriesPlot.getShowShapes() == null ? true : timeSeriesPlot.getShowShapes();
    boolean isShowLines = timeSeriesPlot.getShowLines() == null ? true : timeSeriesPlot.getShowLines();
    lineRenderer.setBaseLinesVisible(isShowLines);
    lineRenderer.setBaseShapesVisible(isShowShapes);

    // Handle the axis formating for the category axis
    configureAxis(xyPlot.getDomainAxis(), timeSeriesPlot.getTimeAxisLabelFont(),
            timeSeriesPlot.getTimeAxisLabelColor(), timeSeriesPlot.getTimeAxisTickLabelFont(),
            timeSeriesPlot.getTimeAxisTickLabelColor(), timeSeriesPlot.getTimeAxisTickLabelMask(),
            timeSeriesPlot.getTimeAxisVerticalTickLabels(), timeSeriesPlot.getTimeAxisLineColor(), false,
            (Comparable<?>) evaluateExpression(timeSeriesPlot.getDomainAxisMinValueExpression()),
            (Comparable<?>) evaluateExpression(timeSeriesPlot.getDomainAxisMaxValueExpression()));

    // Handle the axis formating for the value axis
    configureAxis(xyPlot.getRangeAxis(), timeSeriesPlot.getValueAxisLabelFont(),
            timeSeriesPlot.getValueAxisLabelColor(), timeSeriesPlot.getValueAxisTickLabelFont(),
            timeSeriesPlot.getValueAxisTickLabelColor(), timeSeriesPlot.getValueAxisTickLabelMask(),
            timeSeriesPlot.getValueAxisVerticalTickLabels(), timeSeriesPlot.getValueAxisLineColor(), true,
            (Comparable<?>) evaluateExpression(timeSeriesPlot.getRangeAxisMinValueExpression()),
            (Comparable<?>) evaluateExpression(timeSeriesPlot.getRangeAxisMaxValueExpression()));
    return jfreeChart;
}

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  va2s .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:net.sf.jasperreports.engine.fill.DefaultChartTheme.java

protected JFreeChart createScatterChart() throws JRException {
    ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme());
    JFreeChart jfreeChart = ChartFactory.createScatterPlot(
            evaluateTextExpression(getChart().getTitleExpression()),
            evaluateTextExpression(((JRScatterPlot) getPlot()).getXAxisLabelExpression()),
            evaluateTextExpression(((JRScatterPlot) getPlot()).getYAxisLabelExpression()),
            (XYDataset) getDataset(), getPlot().getOrientationValue().getOrientation(), isShowLegend(), true,
            false);/*from w  ww.  ja  v a 2 s . c  o  m*/

    configureChart(jfreeChart);
    XYLineAndShapeRenderer plotRenderer = (XYLineAndShapeRenderer) ((XYPlot) jfreeChart.getPlot())
            .getRenderer();

    JRScatterPlot scatterPlot = (JRScatterPlot) getPlot();
    boolean isShowLines = scatterPlot.getShowLines() == null ? true : scatterPlot.getShowLines();
    boolean isShowShapes = scatterPlot.getShowShapes() == null ? true : scatterPlot.getShowShapes();

    plotRenderer.setBaseLinesVisible(isShowLines);
    plotRenderer.setBaseShapesVisible(isShowShapes);

    // Handle the axis formating for the category axis
    configureAxis(jfreeChart.getXYPlot().getDomainAxis(), scatterPlot.getXAxisLabelFont(),
            scatterPlot.getXAxisLabelColor(), scatterPlot.getXAxisTickLabelFont(),
            scatterPlot.getXAxisTickLabelColor(), scatterPlot.getXAxisTickLabelMask(),
            scatterPlot.getXAxisVerticalTickLabels(), scatterPlot.getXAxisLineColor(), false,
            (Comparable<?>) evaluateExpression(scatterPlot.getDomainAxisMinValueExpression()),
            (Comparable<?>) evaluateExpression(scatterPlot.getDomainAxisMaxValueExpression()));

    // Handle the axis formating for the value axis
    configureAxis(jfreeChart.getXYPlot().getRangeAxis(), scatterPlot.getYAxisLabelFont(),
            scatterPlot.getYAxisLabelColor(), scatterPlot.getYAxisTickLabelFont(),
            scatterPlot.getYAxisTickLabelColor(), scatterPlot.getYAxisTickLabelMask(),
            scatterPlot.getYAxisVerticalTickLabels(), scatterPlot.getYAxisLineColor(), true,
            (Comparable<?>) evaluateExpression(scatterPlot.getRangeAxisMinValueExpression()),
            (Comparable<?>) evaluateExpression(scatterPlot.getRangeAxisMaxValueExpression()));

    return jfreeChart;
}

From source file:com.appnativa.rare.ui.chart.jfreechart.ChartHandler.java

protected void customizeXYLineAndShapeRenderer(ChartDefinition cd, XYPlot plot, PlotInformation pi) {
    AbstractXYItemRenderer renderer = (AbstractXYItemRenderer) plot.getRenderer();

    if (renderer instanceof XYLineAndShapeRenderer) {
        XYLineAndShapeRenderer xrenderer = (XYLineAndShapeRenderer) renderer;

        if (pi != null) {
            ShapeStyle fs = pi.getShapeStyle();

            if (renderer instanceof XYAreaSplineRendererEx) {
                fs = pi.getShapeStyleEx();
            }/*from  w  ww.  j a  v  a  2 s. c o  m*/

            switch (fs) {
            case FILLED:
                xrenderer.setBaseShapesVisible(true);
                xrenderer.setBaseShapesFilled(true);
                xrenderer.setUseFillPaint(true);

                break;

            case OUTLINED:
                xrenderer.setBaseShapesVisible(true);
                xrenderer.setDrawOutlines(true);
                xrenderer.setUseOutlinePaint(true);

                break;

            case FILLED_AND_OUTLINED:
                xrenderer.setBaseShapesVisible(true);
                xrenderer.setDrawOutlines(true);
                xrenderer.setBaseShapesFilled(true);
                xrenderer.setUseOutlinePaint(true);
                xrenderer.setUseFillPaint(true);

                break;

            default:
                xrenderer.setBaseShapesVisible(false);

                break;
            }
        }

        if (xrenderer.getBaseShapesVisible()) {
            xrenderer.setBaseShape(getDefaultShape(0));
        }
    }

    StandardXYItemLabelGenerator lg = null;

    renderer.setBaseItemLabelsVisible(cd.isShowPlotLabels());
    lg = new XYToolTipLabelGenerator(((ChartInfo) cd.getChartHandlerInfo()).seriesData);

    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();

    renderer.setBaseItemLabelGenerator(lg);
    rangeAxis.setUpperMargin(0.25);

    if (cd.isShowToolTips()) {
        renderer.setBaseToolTipGenerator((XYToolTipLabelGenerator) lg);
    }
}

From source file:mil.tatrc.physiology.utilities.csv.plots.MultiPlotter.java

protected void formatMultiPlot(PlotJob job, JFreeChart chart, XYSeriesCollection dataSet1,
        XYSeriesCollection dataSet2) {/*ww w.j a  v a  2  s.c o m*/
    Color[] blueColors = { Color.blue, Color.cyan, new Color(0, 160, 255), new Color(0, 100, 255),
            new Color(0, 160, 255), new Color(14, 0, 145), new Color(70, 105, 150) };
    Color[] redColors = { Color.red, Color.magenta, new Color(255, 0, 100), new Color(255, 0, 160), Color.pink,
            new Color(145, 0, 0), new Color(132, 58, 58) };
    Color[] variedColors = { Color.red, Color.blue, Color.green, Color.orange, Color.magenta, Color.cyan,
            Color.gray, new Color(255, 165, 0), new Color(42, 183, 136), new Color(87, 158, 186) };
    XYPlot plot = (XYPlot) chart.getPlot();
    XYLineAndShapeRenderer renderer1 = (XYLineAndShapeRenderer) plot.getRenderer();
    BasicStroke wideLine = new BasicStroke(2.0f);

    //For Scientific notation
    NumberFormat formatter = new DecimalFormat("0.######E0");

    for (int i = 0; i < plot.getDomainAxisCount(); i++) {
        plot.getDomainAxis(i).setLabelFont(new Font("SansSerif", Font.PLAIN, job.fontSize));
        plot.getDomainAxis(i).setTickLabelFont(new Font("SansSerif", Font.PLAIN, 15));
        plot.getDomainAxis(i).setLabelPaint(job.bgColor == Color.red ? Color.white : Color.black);
        plot.getDomainAxis(i).setTickLabelPaint(job.bgColor == Color.red ? Color.white : Color.black);
    }
    for (int i = 0; i < plot.getRangeAxisCount(); i++) {
        plot.getRangeAxis(i).setLabelFont(new Font("SansSerif", Font.PLAIN, job.fontSize));
        plot.getRangeAxis(i).setTickLabelFont(new Font("SansSerif", Font.PLAIN, 15));
        plot.getRangeAxis(i).setLabelPaint(job.bgColor == Color.red ? Color.white : Color.black);
        plot.getRangeAxis(i).setTickLabelPaint(job.bgColor == Color.red ? Color.white : Color.black);
        NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(i);
        rangeAxis.setNumberFormatOverride(formatter);
    }

    //White background outside of plottable area
    chart.setBackgroundPaint(job.bgColor);

    plot.setBackgroundPaint(Color.white);
    plot.setDomainGridlinePaint(Color.black);
    plot.setRangeGridlinePaint(Color.black);

    plot.setDomainCrosshairVisible(true);
    plot.setRangeCrosshairVisible(true);

    chart.getLegend().setItemFont(new Font("SansSerif", Font.PLAIN, 15));
    chart.getTitle().setFont(new Font("SansSerif", Font.PLAIN, job.fontSize));
    chart.getTitle().setPaint(job.bgColor == Color.red ? Color.white : Color.black);

    //If there is only one Y axis, we just need to color the data series differently
    if (job.Y2headers == null || job.Y2headers.isEmpty()) {
        for (int i = 0, cIndex = 0; i < dataSet1.getSeriesCount(); i++, cIndex++) {
            renderer1.setSeriesStroke(i, wideLine);
            renderer1.setBaseShapesVisible(false);
            if (cIndex > 9)
                cIndex = 0;
            renderer1.setSeriesFillPaint(i, variedColors[cIndex]);
            renderer1.setSeriesPaint(i, variedColors[cIndex]);
        }
    }
    //If there are 2 Y axes, we should color the axes to correspond with the data so it isn't (as) confusing
    else {
        StandardXYItemRenderer renderer2 = new StandardXYItemRenderer();
        plot.setRenderer(1, renderer2);

        for (int i = 0, cIndex = 0; i < dataSet1.getSeriesCount(); i++, cIndex++) {
            renderer1.setSeriesStroke(i, wideLine);
            renderer1.setBaseShapesVisible(false);
            if (cIndex > 6)
                cIndex = 0;
            renderer1.setSeriesFillPaint(i, redColors[cIndex]);
            renderer1.setSeriesPaint(i, redColors[cIndex]);
        }
        for (int i = 0, cIndex = 0; i < dataSet2.getSeriesCount(); i++, cIndex++) {
            renderer2.setSeriesStroke(i, wideLine);
            renderer2.setBaseShapesVisible(false);
            if (cIndex > 6)
                cIndex = 0;
            renderer2.setSeriesFillPaint(i, blueColors[cIndex]);
            renderer2.setSeriesPaint(i, blueColors[cIndex]);
        }
        plot.getRangeAxis(0).setLabelPaint(redColors[0]);
        plot.getRangeAxis(0).setTickLabelPaint(redColors[0]);
        plot.getRangeAxis(1).setLabelPaint(blueColors[0]);
        plot.getRangeAxis(1).setTickLabelPaint(blueColors[0]);
    }
}

From source file:mil.tatrc.physiology.utilities.csv.plots.ConvexHullPlotter.java

protected void formatConvexHullPlot(PlotJob job, JFreeChart chart, XYSeriesCollection dataSet1,
        XYSeriesCollection dataSet2) {//from   ww w .  jav a 2 s. c  o m
    XYPlot plot = (XYPlot) chart.getPlot();
    XYLineAndShapeRenderer renderer1 = (XYLineAndShapeRenderer) plot.getRenderer();
    BasicStroke wideLine = new BasicStroke(2.0f);

    //For Scientific notation
    NumberFormat formatter = new DecimalFormat("0.######E0");

    for (int i = 0; i < plot.getDomainAxisCount(); i++) {
        plot.getDomainAxis(i).setLabelFont(new Font("SansSerif", Font.PLAIN, job.fontSize));
        plot.getDomainAxis(i).setTickLabelFont(new Font("SansSerif", Font.PLAIN, 15));
        plot.getDomainAxis(i).setLabelPaint(job.bgColor == Color.red ? Color.white : Color.black);
        plot.getDomainAxis(i).setTickLabelPaint(job.bgColor == Color.red ? Color.white : Color.black);
    }
    for (int i = 0; i < plot.getRangeAxisCount(); i++) {
        plot.getRangeAxis(i).setLabelFont(new Font("SansSerif", Font.PLAIN, job.fontSize));
        plot.getRangeAxis(i).setTickLabelFont(new Font("SansSerif", Font.PLAIN, 15));
        plot.getRangeAxis(i).setLabelPaint(job.bgColor == Color.red ? Color.white : Color.black);
        plot.getRangeAxis(i).setTickLabelPaint(job.bgColor == Color.red ? Color.white : Color.black);
        NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(i);
        rangeAxis.setNumberFormatOverride(formatter);
    }

    //White background outside of plottable area
    chart.setBackgroundPaint(job.bgColor);

    plot.setBackgroundPaint(Color.white);
    plot.setDomainGridlinePaint(Color.black);
    plot.setRangeGridlinePaint(Color.black);

    plot.setDomainCrosshairVisible(true);
    plot.setRangeCrosshairVisible(true);

    chart.getLegend().setItemFont(new Font("SansSerif", Font.PLAIN, 15));
    chart.getTitle().setFont(new Font("SansSerif", Font.PLAIN, job.fontSize));
    chart.getTitle().setPaint(job.bgColor == Color.red ? Color.white : Color.black);

    //If there is only one Y axis, color all datasets red (so top, bottom, left, and right will be the same)
    if (job.Y2headers == null || job.Y2headers.isEmpty()) {
        for (int i = 0; i < dataSet1.getSeriesCount(); i++) {
            renderer1.setSeriesStroke(i, wideLine);
            renderer1.setBaseShapesVisible(false);
            renderer1.setSeriesFillPaint(i, Color.red);
            renderer1.setSeriesPaint(i, Color.red);
            if (dataSet1.getSeries(i).getKey() != null
                    && dataSet1.getSeries(i).getKey().toString().equalsIgnoreCase("REMOVE"))
                renderer1.setSeriesVisibleInLegend(i, false);
        }
    }
    //If there are 2 Y axes, we should color the axes to correspond with the data so it isn't (as) confusing
    else {
        StandardXYItemRenderer renderer2 = new StandardXYItemRenderer();
        plot.setRenderer(1, renderer2);

        for (int i = 0; i < dataSet1.getSeriesCount(); i++) {
            renderer1.setSeriesStroke(i, wideLine);
            renderer1.setBaseShapesVisible(false);
            renderer1.setSeriesFillPaint(i, Color.red);
            renderer1.setSeriesPaint(i, Color.red);
            if (dataSet1.getSeries(i).getKey() != null
                    && dataSet1.getSeries(i).getKey().toString().equalsIgnoreCase("REMOVE"))
                renderer1.setSeriesVisibleInLegend(i, false);
        }
        for (int i = 0; i < dataSet2.getSeriesCount(); i++) {
            renderer2.setSeriesStroke(i, wideLine);
            renderer2.setBaseShapesVisible(false);
            renderer2.setSeriesFillPaint(i, Color.blue);
            renderer2.setSeriesPaint(i, Color.blue);
            if (dataSet2.getSeries(i).getKey() != null
                    && dataSet2.getSeries(i).getKey().toString().equalsIgnoreCase("REMOVE"))
                renderer2.setSeriesVisibleInLegend(i, false);
        }
        plot.getRangeAxis(0).setLabelPaint(Color.red);
        plot.getRangeAxis(0).setTickLabelPaint(Color.red);
        plot.getRangeAxis(1).setLabelPaint(Color.blue);
        plot.getRangeAxis(1).setTickLabelPaint(Color.blue);
    }
}

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/*from w  w  w  . ja va2s. c  om*/
        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;
}