List of usage examples for org.jfree.chart.renderer.xy XYLineAndShapeRenderer XYLineAndShapeRenderer
public XYLineAndShapeRenderer()
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; }