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

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

Introduction

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

Prototype

public void setSeriesPaint(int series, Paint paint) 

Source Link

Document

Sets the paint used for a series and sends a RendererChangeEvent to all registered listeners.

Usage

From source file:com.joey.software.Tools.AScanViewerTool.java

public void setAScan(float[] aData, int pos) {
    {//from w  ww.  j a  va 2 s.  c o  m

        if (aData.length != aScanData.length) {
            xData = new float[aData.length];
            maxData = new float[aData.length];
            minData = new float[aData.length];
        }

        for (int i = 0; i < xData.length; i++) {
            xData[i] = xDataMin + (xDataMax - xDataMin) * (i / ((float) xData.length - 1));
        }

        aScanData = aData;

        XYSeriesCollection datCol1 = PlotingToolkit.getCollection(xData, aScanData, "Data");

        XYSeriesCollection datCol2 = PlotingToolkit.getCollection(new float[] { xData[pos] },
                new float[] { aScanData[pos] }, "Data");

        previewPlot.getXYPlot().setDataset(0, datCol1);
        previewPlot.getXYPlot().setDataset(3, datCol2);

        XYLineAndShapeRenderer dataRender1 = new XYLineAndShapeRenderer(true, false);
        XYLineAndShapeRenderer dataRender2 = new XYLineAndShapeRenderer(false, true);

        dataRender1.setSeriesPaint(0, Color.CYAN);
        dataRender2.setSeriesPaint(0, Color.RED);

        previewPlot.getXYPlot().setRenderer(0, dataRender1);
        previewPlot.getXYPlot().setRenderer(3, dataRender2);
    }

    /*
     * Log Data
     */
    {
        logData = aScanData.clone();

        for (int i = 0; i < logData.length; i++) {
            if (logData[i] < 0.0001f) {
                logData[i] += 0.0001f;
            }

            logData[i] = (float) Math.log(logData[i]);
        }

        XYSeriesCollection logCol = PlotingToolkit.getCollection(xData, logData, "Data");
        XYSeriesCollection datCol2 = PlotingToolkit.getCollection(new float[] { xData[pos] },
                new float[] { logData[pos] }, "Data");

        dataPlot.getXYPlot().setDataset(0, logCol);
        dataPlot.getXYPlot().setDataset(3, datCol2);
        // Set the rendering
        XYLineAndShapeRenderer dataRender = new XYLineAndShapeRenderer(true, false);
        XYLineAndShapeRenderer dataRender2 = new XYLineAndShapeRenderer(false, true);
        dataRender2.setSeriesPaint(0, Color.RED);
        dataRender.setSeriesPaint(0, Color.CYAN);
        dataPlot.getXYPlot().setRenderer(0, dataRender);
        dataPlot.getXYPlot().setRenderer(3, dataRender2);
    }
}

From source file:Applet.EmbeddedChart.java

/**
 * Creates a chart.//from   w  ww  .j a  v  a  2s .c o  m
 * 
 * @param dataset
 *            the data for the chart.
 * 
 * @return a chart.
 */
private JFreeChart createChart(final XYDataset dataset, String title, boolean gofr) {

    // create the chart...
    final JFreeChart chart = ChartFactory.createXYLineChart(null, // chart
            // title
            "Radial Distance,  r/\u03c3", // x axis label
            title, // y axis label
            dataset, // data
            PlotOrientation.VERTICAL, true, // include legend
            true, // tooltips
            false // urls
    );

    // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...
    chart.setBackgroundPaint(Color.white);
    chart.getLegend().setPosition(RectangleEdge.RIGHT);

    // final StandardLegend legend = (StandardLegend) chart.getLegend();
    // legend.setDisplaySeriesShapes(true);

    // get a reference to the plot for further customisation...
    final XYPlot plot = chart.getXYPlot();
    plot.setBackgroundPaint(Color.lightGray);
    // plot.setAxisOffset(new Spacer(Spacer.ABSOLUTE, 5.0, 5.0, 5.0, 5.0));
    plot.setDomainGridlinePaint(Color.white);
    plot.setRangeGridlinePaint(Color.white);
    XYTitleAnnotation xyta = new XYTitleAnnotation(0.98, 0.98, chart.getLegend(), RectangleAnchor.TOP_RIGHT);
    chart.removeLegend();
    plot.addAnnotation(xyta);

    final XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(true, false);

    for (int i = 0; i < 2; i++) {
        renderer.setSeriesPaint(i * 6 + 0, new Color(255, 0, 0));
        renderer.setSeriesPaint(i * 6 + 1, new Color(0, 0, 255));
        renderer.setSeriesPaint(i * 6 + 2, new Color(0, 139, 0));
        renderer.setSeriesPaint(i * 6 + 3, new Color(255, 165, 0));
        renderer.setSeriesPaint(i * 6 + 4, new Color(255, 0, 255));
        renderer.setSeriesPaint(i * 6 + 5, new Color(0, 0, 0));

        renderer.setSeriesStroke(i * 6 + 0, new BasicStroke(1.3f, BasicStroke.CAP_SQUARE,
                BasicStroke.JOIN_MITER, 10.0f, new float[] { 10.0f }, 0.0f));
        renderer.setSeriesStroke(i * 6 + 1, new BasicStroke(1.3f, BasicStroke.CAP_SQUARE,
                BasicStroke.JOIN_MITER, 10.0f, new float[] { 50.0f, 2.0f }, 0.0f));
        renderer.setSeriesStroke(i * 6 + 2, new BasicStroke(1.3f, BasicStroke.JOIN_ROUND,
                BasicStroke.JOIN_MITER, 10.0f, new float[] { 30.0f, 1.0f, 1.0f }, 0.0f));
        renderer.setSeriesStroke(i * 6 + 3, new BasicStroke(1.3f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
                10.0f, new float[] { 1.0f, 3.0f }, 0.0f));
        renderer.setSeriesStroke(i * 6 + 4, new BasicStroke(1.3f, BasicStroke.CAP_SQUARE,
                BasicStroke.JOIN_MITER, 10.0f, new float[] { 1.0f, 2.0f, 3.0f, 4.0f }, 0.0f));
        renderer.setSeriesStroke(i * 6 + 5, new BasicStroke(1.3f, BasicStroke.CAP_SQUARE,
                BasicStroke.JOIN_MITER, 10.0f, new float[] { 5.0f, 1.0f, 20.0f, 1.0f }, 0.0f));
    }

    plot.setRenderer(renderer);

    return chart;

}

From source file:com.bwc.ora.views.LrpDisplayFrame.java

private void updateSeries(LrpSeries series) {
    graphData.removeAllSeries();//from  ww  w. j  a va  2s . c  o m

    graphData.addSeries(this.lrpSeries);
    graphData.addSeries(this.maximaSeries);
    graphData.addSeries(this.hiddenMaximaSeries);

    this.lrpSeries.clear();
    ((List<XYDataItem>) (Object) series.getLrpSeries().getItems()).forEach(item -> {
        this.lrpSeries.add(item, false);
    });
    this.lrpSeries.fireSeriesChanged();

    this.maximaSeries.clear();
    ((List<XYDataItem>) (Object) series.getMaximaSeries().getItems()).forEach(item -> {
        this.maximaSeries.add(item, false);
    });
    this.maximaSeries.fireSeriesChanged();

    this.hiddenMaximaSeries.clear();
    ((List<XYDataItem>) (Object) series.getHiddenMaximaSeries().getItems()).forEach(item -> {
        this.hiddenMaximaSeries.add(item, false);
    });
    this.hiddenMaximaSeries.fireSeriesChanged();

    series.getFwhmSeries().forEach(graphData::addSeries);

    //set draw properties of the for each of the full-width half-max lines
    for (int i = 3; i < series.getFwhmSeries().size() + 3; i++) {
        XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
        renderer.setSeriesLinesVisible(i, true);
        renderer.setSeriesShapesVisible(i, false);
        renderer.setSeriesPaint(i, Color.BLACK);
        renderer.setSeriesVisibleInLegend(i, false, false);
        chartPanel.getChart().getXYPlot().setRenderer(i, renderer);
    }
}

From source file:com.epiq.bitshark.ui.IVQPanel.java

/**
 * Initialized the graph//w ww. j a v a2  s. c  o m
 */
private void initGraph() {
    dataset = new XYSeriesCollection();
    ivqSeries = new BasicSeries("I Versus Q");

    dataset.addSeries(ivqSeries);

    graph = ChartFactory.createXYLineChart(null, // no title
            "", // no x-axis label
            "", // no y-axis label
            dataset, // data
            PlotOrientation.VERTICAL, false, // no legend
            false, // no tooltips
            false // no URLs
    );

    graph.setBorderVisible(false);
    graph.setPadding(new RectangleInsets(-5, 0, 0, -0));
    graph.setBackgroundPaint(null);
    graph.setAntiAlias(true);

    plot = (XYPlot) graph.getPlot();
    plot.setBackgroundAlpha(0.0f);
    plot.setDomainGridlinePaint(Color.lightGray);
    plot.setRangeGridlinePaint(Color.lightGray);
    plot.setAxisOffset(new RectangleInsets(0, 0, 0, 0));
    plot.setDomainCrosshairVisible(false);
    plot.setRangeCrosshairVisible(false);

    XYItemRenderer r = plot.getRenderer();
    if (r instanceof XYLineAndShapeRenderer) {
        XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r;
        renderer.setBaseShapesVisible(false);
        renderer.setBaseShapesFilled(true);
        renderer.setSeriesPaint(0, Common.EPIQ_GREEN);
    }

    // X-axis setup
    plot.getDomainAxis().setAutoRange(false);
    plot.getDomainAxis().setVisible(true);
    plot.getDomainAxis().setUpperBound(Math.pow(2, 13));
    plot.getDomainAxis().setLowerBound(-Math.pow(2, 13));

    // Y-axis setup
    plot.getRangeAxis().setAutoRange(false);
    plot.getRangeAxis().setVisible(true);
    plot.getRangeAxis().setUpperBound(Math.pow(2, 13));
    plot.getRangeAxis().setLowerBound(-Math.pow(2, 13));

    chartPanel = new ChartPanel(graph, true, // properties
            true, // save
            false, true, // zoom
            false);

    chartPanel.setMaximumDrawWidth(Integer.MAX_VALUE);
    chartPanel.setMaximumDrawHeight(Integer.MAX_VALUE);
    chartPanel.setMinimumDrawWidth(0);
    chartPanel.setMinimumDrawHeight(0);
    chartPanel.setOpaque(false);

    // enable zoom control via mouse wheel
    chartPanel.addMouseWheelListener(new MouseWheelListener() {
        @Override
        public void mouseWheelMoved(MouseWheelEvent e) {
            int clicks = e.getWheelRotation();
            plot.getRangeAxis().setUpperBound(plot.getRangeAxis().getUpperBound() - (clicks * 100));
            plot.getRangeAxis().setLowerBound(plot.getRangeAxis().getLowerBound() + (clicks * 100));
        }
    });
}

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

void updateGraph() {
    //System.out.println("UpdateGraph get called")
    calculate();/*w w w . j  av  a 2s. c om*/

    XYSeriesCollection ds = createDataset();

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

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

    Shape shape = renderer1.getBaseShape();
    renderer1.setSeriesShape(2, shape);
    renderer1.setSeriesShape(3, shape);
    renderer1.setBaseLinesVisible(true);
    renderer1.setBaseShapesVisible(true);
    renderer1.setBaseShapesFilled(true);
    renderer1.setSeriesShapesVisible(0, false);

    NumberAxis rangeAxis = (NumberAxis) subplot1.getRangeAxis();
    rangeAxis.setAutoRangeIncludesZero(false);

    chartPanel = new ChartPanel(chart, false);
    chartPanel.setPreferredSize(new Dimension(CHART_SIZE_X, CHART_SIZE_Y));

    upContainer = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, new JScrollPane(leftPanel),
            new JScrollPane(chartPanel));

    this.getMainPanel().removeAll();
    this.getMainPanel().add(new JScrollPane(upContainer), BorderLayout.CENTER);
    this.getMainPanel().validate();
    //  getRecordTable().setText("Any Explaination goes here.");

    //
}

From source file:com.epiq.bitshark.ui.TimeDomainPanel.java

/**
 * Initializes the graph//w w w. j ava  2  s . c o m
 */
private void initGraph() {
    dataset = new XYSeriesCollection();

    realSeries = new BasicSeries("Real");
    imaginarySeries = new BasicSeries("Imaginary");

    dataset.addSeries(realSeries);
    dataset.addSeries(imaginarySeries);

    graph = ChartFactory.createXYLineChart(null, // no title
            "", // no x-axis label
            "", // no y-axis label
            dataset, // data
            PlotOrientation.VERTICAL, false, // no legend
            false, // no tooltips
            false // no URLs
    );

    graph.setBorderVisible(false);
    graph.setPadding(new RectangleInsets(-5, -5, 0, -7));
    graph.setBackgroundPaint(null);
    graph.setAntiAlias(true);

    plot = (XYPlot) graph.getPlot();
    plot.setBackgroundAlpha(0.0f);
    plot.setDomainGridlinePaint(Color.lightGray);
    plot.setRangeGridlinePaint(Color.lightGray);
    plot.setAxisOffset(new RectangleInsets(0, 0, 0, 0));
    plot.setDomainCrosshairVisible(false);
    plot.setRangeCrosshairVisible(false);

    XYItemRenderer r = plot.getRenderer();
    if (r instanceof XYLineAndShapeRenderer) {
        XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r;
        renderer.setBaseShapesVisible(false);
        renderer.setBaseShapesFilled(true);
        renderer.setSeriesPaint(0, I_COLOR);
        renderer.setSeriesPaint(1, Q_COLOR);
    }

    // X-axis setup
    plot.getDomainAxis().setAutoRange(false);
    plot.getDomainAxis().setVisible(true);
    plot.getDomainAxis().setRange(0, FMCUartClient.BLOCK_SIZE - 1);

    // Y-axis setup
    plot.getRangeAxis().setAutoRange(false);
    plot.getRangeAxis().setVisible(true);
    plot.getRangeAxis().setUpperBound(Math.pow(2, 13));
    plot.getRangeAxis().setLowerBound(-Math.pow(2, 13));

    // setup chart panel
    chartPanel = new ChartPanel(graph, false);
    chartPanel.setMouseZoomable(false);
    chartPanel.setOpaque(false);
    chartPanel.setMaximumDrawWidth(Integer.MAX_VALUE);
    chartPanel.setMaximumDrawHeight(Integer.MAX_VALUE);
    chartPanel.setMinimumDrawWidth(0);
    chartPanel.setMinimumDrawHeight(0);
    chartPanel.setDomainZoomable(true);
    // mouse wheel zooming
    chartPanel.addMouseWheelListener(new MouseWheelListener() {
        @Override
        public void mouseWheelMoved(MouseWheelEvent e) {
            int clicks = e.getWheelRotation();
            plot.getRangeAxis().setUpperBound(plot.getRangeAxis().getUpperBound() - (clicks * 100));
            plot.getRangeAxis().setLowerBound(plot.getRangeAxis().getLowerBound() + (clicks * 100));
        }
    });
}

From source file:IHM.compargraph.java

/**
 *
 * @param title/*  w  ww. ja v  a2 s.  c  o m*/
 * @param c1
 * @param c2
 * @param comp
 * 
 */
public compargraph(String title, ArrayList<ReleveMeteo> c1, ArrayList<ReleveMeteo> c2, String comp) {
    super(title);
    t1 = c1;
    t2 = c2;
    c = comp;

    // jp = new JInternalFrame("courbes");

    JFreeChart chart = createChart(createDataset());
    ChartPanel panel = new ChartPanel(chart);
    panel.setPreferredSize(new Dimension(500, 300));
    setContentPane(panel);
    //  jp.add(panel, BorderLayout.EAST);
    //  jp.setVisible(true);
    panel.setVisible(true);
    XYPlot plot = chart.getXYPlot();
    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    plot.setRenderer(renderer);
    renderer.setSeriesPaint(0, Color.RED);
    renderer.setSeriesPaint(1, Color.GREEN);
    renderer.setSeriesPaint(2, Color.YELLOW);
    // sets thickness for series (using strokes)
    renderer.setSeriesStroke(0, new BasicStroke(4.0f));
    renderer.setSeriesStroke(1, new BasicStroke(3.0f));
    renderer.setSeriesStroke(2, new BasicStroke(2.0f));
    plot.setRenderer(renderer);
    plot.setOutlinePaint(Color.BLUE);
    plot.setOutlineStroke(new BasicStroke(2.0f));
    plot.setBackgroundPaint(Color.DARK_GRAY);
    plot.setRangeGridlinesVisible(true);
    plot.setRangeGridlinePaint(Color.BLACK);
    plot.setDomainGridlinesVisible(true);
    plot.setDomainGridlinePaint(Color.BLACK);

}

From source file:de.citec.csra.allocation.vis.MovingChart.java

/**
 * Generates an random entry for a particular call made by time for every
 * 1/4th of a second./*  www .j a va  2s .  c o  m*/
 *
 * @param e the action event.
 */
@Override
public void actionPerformed(final ActionEvent e) {

    this.plustime.addOrUpdate(new Millisecond(new Date(System.currentTimeMillis() + this.future)), 0);
    List<TimeSeries> ts = this.dataset.getSeries();
    List<TimeSeries> del = new LinkedList<>();
    long now = System.currentTimeMillis();
    marker.setValue(now);
    int active = 0;
    for (TimeSeries t : ts) {
        if (!t.equals(this.plustime)) {
            List<TimeSeriesDataItem> its = t.getItems();
            long last = 0;
            for (TimeSeriesDataItem it : its) {
                long end = it.getPeriod().getLastMillisecond();
                if (end > last) {
                    last = end;
                }
            }
            if (now - last > this.past) {
                del.add(t);
            } else {
                active++;
            }
        }
    }

    synchronized (this.dataset) {
        if (active == 0) {
            for (TimeSeries d : del) {
                this.dataset.removeSeries(d);
            }
            if (del.size() > 0) {
                this.chart.getXYPlot().setRenderer(new XYLineAndShapeRenderer(true, false));
                XYLineAndShapeRenderer r = (XYLineAndShapeRenderer) this.chart.getXYPlot()
                        .getRendererForDataset(dataset);
                r.setSeriesPaint(0, Color.BLACK);
            }
        }
    }
}

From source file:org.openscience.cdk.applications.taverna.basicutilities.ChartTool.java

/**
 * Creates a line chart./*from www .java2  s.  co m*/
 * 
 * @param title
 * @param categoryAxisLabel
 *            (X-Axis label)
 * @param valueAxisLabel
 *            (Y-Axis label)
 * @param dataset
 * @param includeZero
 *            True when zero shall be included to the axis range.
 * @return JfreeChart instance.
 */
public JFreeChart createXYLineChart(String title, String categoryAxisLabel, String valueAxisLabel,
        XYDataset dataset, boolean includeZero, boolean drawShapes) {
    JFreeChart chart = ChartFactory.createXYLineChart(title, categoryAxisLabel, valueAxisLabel, dataset,
            this.orientation, this.drawLegend, false, false);
    // set the background color for the chart...
    chart.setBackgroundPaint(Color.white);
    chart.setAntiAlias(true);
    XYPlot plot = chart.getXYPlot();
    ValueAxis domainAxis = plot.getDomainAxis();
    domainAxis.setLowerMargin(0.025);
    domainAxis.setUpperMargin(0.025);
    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setAutoRangeIncludesZero(includeZero);
    XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer();
    renderer.setSeriesPaint(0, Color.blue);
    renderer.setSeriesPaint(1, Color.red);
    renderer.setSeriesPaint(2, Color.green);
    renderer.setSeriesPaint(3, Color.darkGray);
    renderer.setSeriesPaint(4, Color.yellow);
    renderer.setDrawOutlines(true);
    renderer.setUseFillPaint(true);
    renderer.setBaseShapesVisible(drawShapes);
    renderer.setBaseShapesFilled(true);
    return chart;
}

From source file:eremeykin.pete.plotter.CartesianPlotterTopComponent.java

JFreeChart createChart(XYDataset dataset) {
    // create the chart...
    final JFreeChart chart = ChartFactory.createXYLineChart(" ?", // chart title
            "???", // x axis label
            "", // y axis label
            dataset, // data
            PlotOrientation.VERTICAL, true, // include legend
            true, // tooltips
            false // urls
    );/*from  w w w . ja  va 2 s  .  c  om*/

    chart.setTitle(new org.jfree.chart.title.TextTitle(" ?",
            new java.awt.Font("Arial", java.awt.Font.PLAIN, 16)));

    chart.setBackgroundPaint(Color.white);
    plot = chart.getXYPlot();
    plot.setBackgroundPaint(Color.WHITE);
    //    plot.setAxisOffset(new Spacer(Spacer.ABSOLUTE, 5.0, 5.0, 5.0, 5.0));
    plot.setDomainGridlinePaint(Color.DARK_GRAY);
    plot.setRangeGridlinePaint(Color.DARK_GRAY);
    final XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setSeriesShapesVisible(0, true);
    renderer.setSeriesShapesVisible(1, false);
    renderer.setSeriesShapesVisible(2, false);
    renderer.setSeriesShapesVisible(3, false);
    renderer.setSeriesPaint(0, Color.RED);
    renderer.setSeriesPaint(1, Color.BLUE);
    renderer.setSeriesPaint(2, Color.BLUE);
    renderer.setSeriesPaint(3, Color.BLACK);
    //        renderer.setSeriesStroke(1, new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 1.0f, new float[] {6.0f, 6.0f}, 0.0f ));
    plot.setRenderer(renderer);
    return chart;
}