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

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

Introduction

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

Prototype

public XYLineAndShapeRenderer() 

Source Link

Document

Creates a new renderer with both lines and shapes visible.

Usage

From source file:be.vds.jtbdive.client.view.core.dive.profile.DiveProfileChartPanelEditor.java

private void showWarningCollection(XYSeriesCollection xyCollection, int shape, Color color) {
    if (null == indexMap.get(xyCollection)) {
        int index = plot.getDatasetCount();
        indexMap.put(xyCollection, index);
        XYLineAndShapeRenderer renderer2 = new XYLineAndShapeRenderer();
        renderer2.setSeriesLinesVisible(0, false);
        renderer2.setAutoPopulateSeriesShape(false);
        renderer2.setSeriesPaint(0, color);
        renderer2.setBaseShape(DefaultDrawingSupplier.DEFAULT_SHAPE_SEQUENCE[shape]);
        plot.setDataset(index, xyCollection);
        plot.setRenderer(index, renderer2);
    }/*from  ww w. j  av a  2  s  .  c om*/
}

From source file:convexaenvolvente.Grafico.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    Point[] points = new Point[stack.getTamano()];
    Point[] result;//from   w w w  .j  a  v a2s.  c  o  m
    for (int i = 0; i < points.length; i++)
        points[i] = (Point) stack.pop();
    ConvexaEnvolvente ce = new ConvexaEnvolvente();
    result = ce.convexHull(points);
    XYSeries[] resultSerie = new XYSeries[result.length];
    for (int i = 0; i < resultSerie.length; i++) {
        if ((i + 1) < resultSerie.length) {
            XYSeries tmp = new XYSeries("");
            tmp.add(result[i].getX(), result[i].getY());
            tmp.add(result[i + 1].getX(), result[i + 1].getY());
            resultSerie[i] = tmp;
        }
    }
    XYSeries lol = new XYSeries("");
    lol.add(result[0].getX(), result[0].getY());
    lol.add(result[result.length - 1].getX(), result[result.length - 1].getY());
    resultSerie[resultSerie.length - 1] = lol;
    for (XYSeries resultSerie1 : resultSerie)
        dataset.addSeries(resultSerie1);
    for (XYSeries nube1 : nube)
        dataset.addSeries(nube1);
    xylineChart = ChartFactory.createXYLineChart("Convex Hull", "Y", "X", dataset, PlotOrientation.VERTICAL,
            true, true, false);
    plot = xylineChart.getXYPlot();
    renderer = new XYLineAndShapeRenderer();
    for (int i = 0; i < resultSerie.length; i++) {
        if (i >= resultSerie.length) {
            renderer.setSeriesPaint(i, Color.GREEN);
            renderer.setSeriesStroke(i, new BasicStroke(4.0f));
        } else {
            renderer.setSeriesPaint(i, Color.BLUE);
            renderer.setSeriesStroke(i, new BasicStroke(4.0f));
        }
    }
    plot.setRenderer(renderer);
    ChartPanel p = new ChartPanel(xylineChart);
    jPanel1.removeAll();
    jPanel1.add(p, BorderLayout.CENTER);
    jPanel1.validate();
}

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

private void updateSeries(LrpSeries series) {
    graphData.removeAllSeries();/*from w ww .  ja v a  2s.c om*/

    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:PhysicDrawing.PhysicGraph.java

private JFreeChart createAccelerationChart(XYDataset dataset) {

    // create the chart...
    JFreeChart chart = ChartFactory.createXYLineChart("Acceleration", // chart title
            "X - Time (s)", // x axis label
            "Y - A (px/s^2)", // y axis label
            dataset, // data
            PlotOrientation.VERTICAL, true, // include legend
            true, // tooltips
            false // urls
    );//w w w.  j  av  a2  s .  c o m

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

    // get a reference to the plot for further customisation...
    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); // vertical line 
    plot.setRangeGridlinePaint(Color.white); // horizontal line 

    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setSeriesLinesVisible(0, true); // (index , value)
    renderer.setSeriesLinesVisible(1, true);
    renderer.setSeriesPaint(0, Color.RED, true);
    renderer.setSeriesPaint(1, Color.black, true);
    renderer.setSeriesPaint(2, Color.white, true);
    renderer.setSeriesShape(0, new Rectangle(1, 1));
    renderer.setSeriesShape(1, new Rectangle(1, 1));

    plot.setRenderer(renderer);

    // change the auto tick unit selection to integer units only...
    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    // OPTIONAL CUSTOMISATION COMPLETED.

    return chart;

}

From source file:com.att.aro.ui.view.diagnostictab.plot.VideoChunksPlot.java

@Override
public void populate(XYPlot plot, AROTraceData analysis) {
    if (analysis != null) {
        VideoUsage videousage = analysis.getAnalyzerResult().getVideoUsage();
        if (!isReDraw) {
            boPlot.clearPlot(this.bufferOccupancyPlot);
            boTimePlot.clearPlot(this.bufferTimePlot);
            analysis.getAnalyzerResult().setBufferTimeResult(null);
            analysis.getAnalyzerResult().setBufferOccupancyResult(null);
        }/*from  w ww  . j a  v  a 2  s . co m*/

        videoChunksData.removeAllSeries();
        for (XYSeriesCollection seriesColl : startUpDelayCollection) {
            seriesColl.removeAllSeries();
        }

        startUpDelayCollection.clear();
        imgSeries = new ArrayList<BufferedImage>();

        // create the dataset...
        int index = 0;

        series = new XYSeries("Chunks");
        seriesDataSets = new TreeMap<>();
        seriesDataSets = videoChunkPlotter.populateDataSet(analysis.getAnalyzerResult().getVideoUsage());

        imgSeries = videoChunkPlotter.getImageSeries();
        filteredChunks = videousage.getFilteredSegments();
        segmentsToBePlayed.clear();
        if (videousage.getAllSegments() != null) {
            for (VideoEvent ve : videousage.getAllSegments()) {
                segmentsToBePlayed.add(ve);
            }
        }
        for (double timeStamp : seriesDataSets.values()) {
            series.add(timeStamp, 0);
        }

        XYSeriesCollection playTimeStartSeries;
        int first = 0;

        List<VideoEvent> chunkPlayBackTimeList = new ArrayList<VideoEvent>(chunkPlayTime.keySet());
        Collections.sort(chunkPlayBackTimeList, new VideoEventComparator(SortSelection.SEGMENT));
        for (VideoEvent ve : chunkPlayBackTimeList) {

            playTimeStartSeries = new XYSeriesCollection();

            seriesStartUpDelay = new XYSeries("StartUpDelay" + (index++));
            seriesStartUpDelay.add(ve.getDLTimeStamp(), 0);
            seriesStartUpDelay.add((double) chunkPlayTime.get(ve), 0);

            if (first == 0) {
                VideoUsage videoUsage = analysis.getAnalyzerResult().getVideoUsage();
                TreeMap<Double, AROManifest> videoEventList = videoUsage.getAroManifestMap();

                setDelayAROManifest((double) chunkPlayTime.get(ve) - ve.getEndTS(), videoEventList.values());//Set start up delay in AROManifest getDLTimeStamp()

            }
            playTimeStartSeries.addSeries(seriesStartUpDelay);

            startUpDelayCollection.add(playTimeStartSeries);
            first++;
        }

        videoChunksData.addSeries(series);

        VideoChunckImageRenderer renderer = new VideoChunckImageRenderer();
        XYLineAndShapeRenderer rendererDelay = new XYLineAndShapeRenderer();
        for (int i = 0; i < startUpDelayCollection.size(); i++) {
            rendererDelay.setSeriesStroke(i, new BasicStroke(1.0f));
            rendererDelay.setSeriesPaint(i, Color.red);
        }

        XYToolTipGenerator xyToolTipGenerator = new XYToolTipGenerator() {
            @Override
            public String generateToolTip(XYDataset dataset, int series, int item) {
                StringBuffer tooltipValue = new StringBuffer();
                VideoEvent currentVEvent = segmentsToBePlayed.get(item);

                DecimalFormat decimalFormat = new DecimalFormat("0.##");

                tooltipValue.append(decimalFormat.format(currentVEvent.getSegment()) + ","
                        + String.format("%.2f", currentVEvent.getStartTS()) + ","
                        + String.format("%.2f", currentVEvent.getEndTS()) + ",");

                if (!chunkPlayTime.isEmpty()) {
                    if (videoChunkPlotter.getSegmentPlayStartTime(currentVEvent) == -1) {
                        tooltipValue.append("- ,");
                    } else {
                        tooltipValue.append(
                                String.format("%.2f", videoChunkPlotter.getSegmentPlayStartTime(currentVEvent))
                                        + " s,");
                    }
                } else {
                    tooltipValue.append("- ,");
                }
                tooltipValue.append(currentVEvent.getTotalBytes() / 1000); //Converting to KB
                String[] value = tooltipValue.toString().split(",");
                return (MessageFormat.format(VIDEOCHUNK_TOOLTIP, value[0], value[1], value[2], value[3],
                        value[4]));

            }

        };

        renderer.setBaseToolTipGenerator(xyToolTipGenerator);
        renderer.setSeriesShape(0, shape);

        plot.setRenderer(index, renderer);
        for (int i = 0; i < startUpDelayCollection.size(); i++)
            plot.setRenderer(i, rendererDelay);
    }
    isReDraw = false;
    int seriesIndex = 0;
    for (XYSeriesCollection seriesColl : startUpDelayCollection) {
        plot.setDataset(seriesIndex, seriesColl);
        seriesIndex++;
    }

    plot.setDataset(seriesIndex, videoChunksData);
}

From source file:sentimentanalyzer.ChartController.java

public void addLineOfDataTo_XYSeriesLineChart(XYSeriesCollection dataset, int row, XYPlot plot) {
    plot.setDataset(row, dataset);/*from   ww  w  .  j a  v a 2  s  .com*/

    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setBaseShapesVisible(true);
    renderer.setSeriesPaint(row, this.getRandomColor());
    plot.setRenderer(row, renderer);

    this.wordIndexesOnGraph.add(row);
}

From source file:GUI.PlotCreator.java

private ChartPanel createSeaCurrentDirectionByHPanel() {
    JFreeChart jfreechart = ChartFactory.createScatterPlot("Sea Current Direction Plot", "H",
            "Sea Current Direction", createSeaCurrentDirectionDataByH(), PlotOrientation.VERTICAL, true, true,
            false);//from  ww w.j  a va 2 s.c  om
    XYPlot xyPlot = (XYPlot) jfreechart.getPlot();
    xyPlot.setDomainCrosshairVisible(true);
    xyPlot.setRangeCrosshairVisible(true);
    //XYItemRenderer renderer = xyPlot.getRenderer();
    NumberAxis domain = (NumberAxis) xyPlot.getDomainAxis();
    domain.setVerticalTickLabels(true);
    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setSeriesLinesVisible(0, false);
    renderer.setSeriesPaint(0, Color.blue);
    renderer.setSeriesPaint(1, Color.red);
    xyPlot.setRenderer(renderer);
    return new ChartPanel(jfreechart);
}

From source file:org.pentaho.reporting.engine.classic.extensions.legacy.charts.LegacyChartType.java

private JFreeChart createChart(final Expression aExpression) {
    if (aExpression instanceof BarLineChartExpression) {
        final CategoryAxis catAxis = new CategoryAxis("Category");// NON-NLS
        final NumberAxis barsAxis = new NumberAxis("Value");// NON-NLS
        final NumberAxis linesAxis = new NumberAxis("Value2");// NON-NLS

        final CategoryPlot plot = new CategoryPlot(createDataset(), catAxis, barsAxis, new BarRenderer());
        plot.setRenderer(1, new LineAndShapeRenderer());

        // add lines dataset and axis to plot
        plot.setDataset(1, createDataset());
        plot.setRangeAxis(1, linesAxis);

        // map lines to second axis
        plot.mapDatasetToRangeAxis(1, 1);

        // set rendering order
        plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);

        // set location of second axis
        plot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_RIGHT);

        return new JFreeChart("Bar Line Chart", plot);
    }/*from w ww. j a  va 2 s  . c  o m*/

    if (aExpression instanceof RingChartExpression) {
        return ChartFactory.createRingChart("Ring Chart", createPieDataset(), true, false, false);// NON-NLS
    }
    if (aExpression instanceof AreaChartExpression) {
        return ChartFactory.createAreaChart("Area Chart", "Category", "Value", createDataset(),
                PlotOrientation.VERTICAL, true, false, false);// NON-NLS
    }
    if (aExpression instanceof BarChartExpression) {
        return ChartFactory.createBarChart("Bar Chart", "Category", "Value", createDataset(),
                PlotOrientation.VERTICAL, true, false, false);// NON-NLS

    }
    if (aExpression instanceof LineChartExpression) {
        return ChartFactory.createLineChart("Line Chart", "Category", "Value", createDataset(),
                PlotOrientation.VERTICAL, true, false, false);// NON-NLS
    }
    if (aExpression instanceof MultiPieChartExpression) {
        return ChartFactory.createMultiplePieChart("Multi Pie Chart", createDataset(), TableOrder.BY_COLUMN,
                true, false, false);// NON-NLS
    }
    if (aExpression instanceof PieChartExpression) {
        return ChartFactory.createPieChart("Pie Chart", createPieDataset(), true, false, false);// NON-NLS
    }
    if (aExpression instanceof WaterfallChartExpressions) {
        return ChartFactory.createWaterfallChart("Bar Chart", "Category", "Value", createDataset(),
                PlotOrientation.HORIZONTAL, true, false, false);// NON-NLS
    }
    if (aExpression instanceof BubbleChartExpression) {
        return ChartFactory.createBubbleChart("Bubble Chart", "X", "Y", createXYZDataset(),
                PlotOrientation.VERTICAL, true, false, false);// NON-NLS
    }
    if (aExpression instanceof ExtendedXYLineChartExpression) {
        return ChartFactory.createXYLineChart("XY Line Chart", "X", "Y", createXYZDataset(),
                PlotOrientation.VERTICAL, true, false, false);// NON-NLS
    }
    if (aExpression instanceof ScatterPlotChartExpression) {
        return ChartFactory.createScatterPlot("Scatter Chart", "X", "Y", createXYZDataset(),
                PlotOrientation.VERTICAL, true, false, false);// NON-NLS
    }
    if (aExpression instanceof XYAreaLineChartExpression) {
        final NumberAxis catAxis = new NumberAxis("Range");// NON-NLS
        final NumberAxis barsAxis = new NumberAxis("Value");// NON-NLS
        final NumberAxis linesAxis = new NumberAxis("Value2");// NON-NLS

        final XYPlot plot = new XYPlot(createXYZDataset(), catAxis, barsAxis, new XYAreaRenderer());
        plot.setRenderer(1, new XYLineAndShapeRenderer());

        // add lines dataset and axis to plot
        plot.setDataset(1, createXYZDataset());
        plot.setRangeAxis(1, linesAxis);

        // map lines to second axis
        plot.mapDatasetToRangeAxis(1, 1);

        // set rendering order
        plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);

        // set location of second axis
        plot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_RIGHT);

        return new JFreeChart("XY Area Line Chart", plot);// NON-NLS
    }
    if (aExpression instanceof XYAreaChartExpression) {
        return ChartFactory.createXYAreaChart("XY Area Chart", "X", "Y", createXYZDataset(),
                PlotOrientation.VERTICAL, true, false, false);// NON-NLS
    }
    if (aExpression instanceof XYBarChartExpression) {
        return XYBarChartExpression.createXYBarChart("XY Bar Chart", "X", false, "Y", createIntervalXYDataset(),
                PlotOrientation.VERTICAL, true, false, false);// NON-NLS
    }
    if (aExpression instanceof XYLineChartExpression) {
        return ChartFactory.createXYLineChart("XY Line Chart", "X", "Y", createXYZDataset(),
                PlotOrientation.VERTICAL, true, false, false);// NON-NLS
    }
    if (aExpression instanceof RadarChartExpression) {
        final SpiderWebPlot plot = new SpiderWebPlot(createDataset());
        return new JFreeChart("Radar Chart", JFreeChart.DEFAULT_TITLE_FONT, plot, true);
    }
    if (aExpression instanceof ThermometerChartExpression) {
        final DefaultValueDataset dataset = new DefaultValueDataset(new Double(65.0));
        final ThermometerPlot plot = new ThermometerPlot(dataset);

        return new JFreeChart("Thermometer Chart", JFreeChart.DEFAULT_TITLE_FONT, plot, true);
    }
    return null;
}

From source file:io.github.mzmine.modules.plots.msspectrum.MsSpectrumPlotWindowController.java

private void configureRenderer(MsSpectrumDataSet dataset, int datasetIndex) {

    final MsSpectrumType renderingType = dataset.getRenderingType();
    final XYPlot plot = chartNode.getChart().getXYPlot();

    // Set renderer
    AbstractXYItemRenderer newRenderer;/*from  ww  w.j ava2 s  .c om*/
    switch (renderingType) {
    case PROFILE:
    case THRESHOLDED:
        XYLineAndShapeRenderer newLineRenderer = new XYLineAndShapeRenderer();
        final int lineThickness = dataset.getLineThickness();
        newLineRenderer.setBaseShape(new Ellipse2D.Double(-2 * lineThickness, -2 * lineThickness,
                4 * lineThickness + 1, 4 * lineThickness + 1));
        newLineRenderer.setBaseShapesFilled(true);
        newLineRenderer.setBaseShapesVisible(dataset.getShowDataPoints());
        newLineRenderer.setDrawOutlines(false);

        Stroke baseStroke = new BasicStroke(lineThickness);
        newLineRenderer.setBaseStroke(baseStroke);
        newRenderer = newLineRenderer;
        break;
    case CENTROIDED:
    default:
        XYBarRenderer newBarRenderer = new XYBarRenderer();
        // Avoid gradients
        newBarRenderer.setBarPainter(new StandardXYBarPainter());
        newBarRenderer.setShadowVisible(false);
        newRenderer = newBarRenderer;
        break;
    }

    // Set tooltips for legend
    newRenderer.setLegendItemToolTipGenerator((ds, series) -> {
        if (ds instanceof MsSpectrumDataSet) {
            return ((MsSpectrumDataSet) ds).getDescription();
        } else
            return null;
    });

    // Set color
    Color baseColor = dataset.getColor();
    newRenderer.setBasePaint(JavaFXUtil.convertColorToAWT(baseColor));

    // Set label generator
    XYItemLabelGenerator intelligentLabelGenerator = new IntelligentItemLabelGenerator(chartNode, 100, dataset);
    newRenderer.setBaseItemLabelGenerator(intelligentLabelGenerator);
    newRenderer.setBaseItemLabelPaint(JavaFXUtil.convertColorToAWT(labelsColor));
    newRenderer.setBaseItemLabelsVisible(itemLabelsVisible.get());

    // Set tooltip generator
    newRenderer.setBaseToolTipGenerator(dataset);

    plot.setRenderer(datasetIndex, newRenderer);

}

From source file:edu.unc.LCCC.caBIG.DWD.javaCode.visualization.SetUpPlotWindow.java

public static JPanel createXYLineAndShapeRendererChart(XYDataset data, String x, String y, int w, int h) {
    //XYDataset data = new SampleXYDataset2();
    JFreeChart chart = ChartFactory.createScatterPlot(null, // the title of the chart
            x, // the label for the X axis
            y, // the label for the Y axis
            data, // the dataset for the chart
            PlotOrientation.VERTICAL, // the orientation of the chart
            true, // a flag specifying whether or not a legend is required
            true, // a flag specifying whether or not tooltips should be generated
            false); // a flag specifying whether or not the chart should generate URLs

    XYPlot plot = (XYPlot) chart.getPlot();
    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setSeriesLinesVisible(0, false);
    renderer.setSeriesShapesVisible(0, true);

    renderer.setSeriesLinesVisible(1, false);
    renderer.setSeriesShapesVisible(1, true);

    renderer.setSeriesLinesVisible(2, true);
    renderer.setSeriesShapesVisible(2, false);

    renderer.setToolTipGenerator(new StandardXYToolTipGenerator());
    renderer.setDefaultEntityRadius(6);/*w  w  w  .j a v a2  s . c  om*/
    plot.setRenderer(renderer);

    ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(w, h));

    return chartPanel;
}