List of usage examples for org.jfree.chart.renderer.xy XYLine3DRenderer XYLine3DRenderer
public XYLine3DRenderer()
From source file:org.jfree.chart.demo.XYLine3DRendererDemo1.java
private static JFreeChart createChart(XYDataset xydataset) { JFreeChart jfreechart = ChartFactory.createXYLineChart("XYLine3DRenderer Demo 1", "X", "Y", xydataset, PlotOrientation.VERTICAL, true, true, false); XYPlot xyplot = (XYPlot) jfreechart.getPlot(); XYLine3DRenderer xyline3drenderer = new XYLine3DRenderer(); xyline3drenderer.setWallPaint(Color.gray); xyline3drenderer.setXOffset(2D);// ww w .ja v a2 s . c om xyline3drenderer.setYOffset(3D); xyline3drenderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator()); xyline3drenderer.setDefaultEntityRadius(6); xyplot.setRenderer(xyline3drenderer); return jfreechart; }
From source file:org.xwiki.chart.internal.plot.XYLine3DPlotGenerator.java
@Override public XYItemRenderer getRenderer() { return new XYLine3DRenderer(); }
From source file:com.bdb.weather.display.day.DayXYPlotPane.java
private void createChartElements() { ///*from w ww .j a va 2s .co m*/ // Set up the Domain Axis (X) // plot = new XYPlot(); dateAxis = new DateAxis("Time"); dateAxis.setAutoRange(false); dateAxis.setTickUnit(new DateTickUnit(DateTickUnitType.HOUR, 1, new SimpleDateFormat("h a"))); dateAxis.setVerticalTickLabels(true); plot.setDomainAxis(dateAxis); plot.setRangeAxis(leftAxis); plot.setDataset(0, datasetLeft); if (rightAxis != null) { plot.setRangeAxis(1, rightAxis); plot.mapDatasetToRangeAxis(1, 1); plot.setDataset(1, datasetRight); } plot.setNoDataMessage("There is no data for the specified day"); // // Set up the renderer to generate tool tips, not show shapes // XYLineAndShapeRenderer renderer = new XYLine3DRenderer(); renderer.setBaseShapesVisible(false); renderer.setBaseToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance()); //renderer.setDefaultEntityRadius(1); plot.setRenderer(0, renderer); renderer = new XYLine3DRenderer(); renderer.setBaseShapesVisible(false); renderer.setBaseToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance()); //renderer.setDefaultEntityRadius(1); plot.setRenderer(1, renderer); // // Setup the cross hairs that are displayed when the user clicks on the plot // plot.setRangeCrosshairLockedOnData(true); plot.setRangeCrosshairVisible(true); plot.setDomainCrosshairLockedOnData(true); plot.setDomainCrosshairVisible(true); // // Create the chart that contains the plot and the panel that contains the chart // chart = new JFreeChart(plot); ChartFactory.getChartTheme().apply(chart); chartViewer = new ChartViewer(chart); chartViewer.setMaxHeight(500); chartViewer.setMaxWidth(800); // // Add the Day/Night indicator option to the chart panels context menu // ContextMenu menu = chartViewer.getContextMenu(); displayMenu = new Menu("Display"); dayNightItem = new CheckMenuItem("Day/Night Indicators"); dayNightItem.setSelected(true); displayMenu.getItems().add(dayNightItem); dayNightItem.setOnAction(this); menu.getItems().add(displayMenu); }
From source file:com.googlecode.psiprobe.controllers.RenderChartController.java
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { final int SERIES_NUM = 9; // the max number of series ////from w ww . j av a 2 s .co m // get Series Color from the request // int[] seriesColor = new int[SERIES_NUM]; seriesColor[0] = Utils.toIntHex(request.getParameter("s1c"), 0x9bd2fb); seriesColor[1] = Utils.toIntHex(request.getParameter("s2c"), 0xFF0606); for (int i = 2; i < SERIES_NUM; i++) { seriesColor[i] = Utils.toIntHex(request.getParameter("s" + (i + 1) + "c"), -1); } // // get Series Outline Color from the request // int[] seriesOutlineColor = new int[SERIES_NUM]; seriesOutlineColor[0] = Utils.toIntHex(request.getParameter("s1o"), 0x0665aa); seriesOutlineColor[1] = Utils.toIntHex(request.getParameter("s2o"), 0x9d0000); for (int i = 2; i < SERIES_NUM; i++) { seriesOutlineColor[i] = Utils.toIntHex(request.getParameter("s" + (i + 1) + "o"), -1); } // // background color // int backgroundColor = Utils.toIntHex(request.getParameter("bc"), 0xFFFFFF); // // grid color // int gridColor = Utils.toIntHex(request.getParameter("gc"), 0); // // X axis title // String xLabel = ServletRequestUtils.getStringParameter(request, "xl", ""); // // Y axis title // String yLabel = ServletRequestUtils.getStringParameter(request, "yl", ""); // // image width // int width = ServletRequestUtils.getIntParameter(request, "xz", 800); // // image height // int height = ServletRequestUtils.getIntParameter(request, "yz", 400); // // show legend? // boolean showLegend = ServletRequestUtils.getBooleanParameter(request, "l", true); // // Series provider // String provider = ServletRequestUtils.getStringParameter(request, "p", null); // // Chart type // String chartType = ServletRequestUtils.getStringParameter(request, "ct", "area"); DefaultTableXYDataset ds = new DefaultTableXYDataset(); if (provider != null) { Object o = getApplicationContext().getBean(provider); if (o instanceof SeriesProvider) { ((SeriesProvider) o).populate(ds, statsCollection, request); } else { logger.error("SeriesProvider \"" + provider + "\" does not implement " + SeriesProvider.class); } } // // Build series data from the give statistic // JFreeChart chart = null; if ("area".equals(chartType)) { chart = ChartFactory.createXYAreaChart("", xLabel, yLabel, ds, PlotOrientation.VERTICAL, showLegend, false, false); ((XYAreaRenderer) chart.getXYPlot().getRenderer()).setOutline(true); } else if ("stacked".equals(chartType)) { chart = ChartFactory.createStackedXYAreaChart("", xLabel, yLabel, ds, PlotOrientation.VERTICAL, showLegend, false, false); } else if ("line".equals(chartType)) { chart = ChartFactory.createXYLineChart("", xLabel, yLabel, ds, PlotOrientation.VERTICAL, showLegend, false, false); final XYLine3DRenderer renderer = new XYLine3DRenderer(); renderer.setDrawOutlines(true); renderer.setLinesVisible(true); renderer.setShapesVisible(true); renderer.setStroke(new BasicStroke(2)); renderer.setXOffset(1); renderer.setYOffset(1); chart.getXYPlot().setRenderer(renderer); } if (chart != null) { chart.setAntiAlias(true); chart.setBackgroundPaint(new Color(backgroundColor)); for (int i = 0; i < SERIES_NUM; i++) { if (seriesColor[i] >= 0) { chart.getXYPlot().getRenderer().setSeriesPaint(i, new Color(seriesColor[i])); } if (seriesOutlineColor[i] >= 0) { chart.getXYPlot().getRenderer().setSeriesOutlinePaint(i, new Color(seriesOutlineColor[i])); } } chart.getXYPlot().setDomainGridlinePaint(new Color(gridColor)); chart.getXYPlot().setRangeGridlinePaint(new Color(gridColor)); chart.getXYPlot().setDomainAxis(0, new DateAxis()); chart.getXYPlot().setDomainAxis(1, new DateAxis()); chart.getXYPlot().setInsets(new RectangleInsets(-15, 0, 0, 10)); response.setHeader("Content-type", "image/png"); response.getOutputStream().write(ChartUtilities.encodeAsPNG(chart.createBufferedImage(width, height))); } return null; }
From source file:psiprobe.controllers.RenderChartController.java
@Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { final int seriesMaxCount = 9; // the max number of series // get Series Color from the request int[] seriesColor = new int[seriesMaxCount]; seriesColor[0] = Utils.toIntHex(request.getParameter("s1c"), 0x9bd2fb); seriesColor[1] = Utils.toIntHex(request.getParameter("s2c"), 0xFF0606); for (int i = 2; i < seriesMaxCount; i++) { seriesColor[i] = Utils.toIntHex(request.getParameter("s" + (i + 1) + "c"), -1); }//ww w . ja va 2 s. c o m // get Series Outline Color from the request int[] seriesOutlineColor = new int[seriesMaxCount]; seriesOutlineColor[0] = Utils.toIntHex(request.getParameter("s1o"), 0x0665aa); seriesOutlineColor[1] = Utils.toIntHex(request.getParameter("s2o"), 0x9d0000); for (int i = 2; i < seriesMaxCount; i++) { seriesOutlineColor[i] = Utils.toIntHex(request.getParameter("s" + (i + 1) + "o"), -1); } // background color int backgroundColor = Utils.toIntHex(request.getParameter("bc"), 0xFFFFFF); // grid color int gridColor = Utils.toIntHex(request.getParameter("gc"), 0); // X axis title String labelX = ServletRequestUtils.getStringParameter(request, "xl", ""); // Y axis title String labelY = ServletRequestUtils.getStringParameter(request, "yl", ""); // image width int width = ServletRequestUtils.getIntParameter(request, "xz", 800); // image height int height = ServletRequestUtils.getIntParameter(request, "yz", 400); // show legend? boolean showLegend = ServletRequestUtils.getBooleanParameter(request, "l", true); // Series provider String provider = ServletRequestUtils.getStringParameter(request, "p", null); // Chart type String chartType = ServletRequestUtils.getStringParameter(request, "ct", "area"); DefaultTableXYDataset ds = new DefaultTableXYDataset(); if (provider != null) { Object series = getApplicationContext().getBean(provider); if (series instanceof SeriesProvider) { ((SeriesProvider) series).populate(ds, statsCollection, request); } else { logger.error("SeriesProvider '{}' does not implement '{}'", provider, SeriesProvider.class); } } // Build series data from the give statistic JFreeChart chart = null; if ("area".equals(chartType)) { chart = ChartFactory.createXYAreaChart("", labelX, labelY, ds, PlotOrientation.VERTICAL, showLegend, false, false); ((XYAreaRenderer) chart.getXYPlot().getRenderer()).setOutline(true); } else if ("stacked".equals(chartType)) { chart = ChartFactory.createStackedXYAreaChart("", labelX, labelY, ds, PlotOrientation.VERTICAL, showLegend, false, false); } else if ("line".equals(chartType)) { chart = ChartFactory.createXYLineChart("", labelX, labelY, ds, PlotOrientation.VERTICAL, showLegend, false, false); final XYLine3DRenderer renderer = new XYLine3DRenderer(); renderer.setDrawOutlines(true); for (int i = 0; i < seriesMaxCount; i++) { renderer.setSeriesLinesVisible(i, true); renderer.setSeriesShapesVisible(i, true); renderer.setSeriesStroke(i, new BasicStroke(2)); } renderer.setXOffset(1); renderer.setYOffset(1); chart.getXYPlot().setRenderer(renderer); } if (chart != null) { chart.setAntiAlias(true); chart.setBackgroundPaint(new Color(backgroundColor)); for (int i = 0; i < seriesMaxCount; i++) { if (seriesColor[i] >= 0) { chart.getXYPlot().getRenderer().setSeriesPaint(i, new Color(seriesColor[i])); } if (seriesOutlineColor[i] >= 0) { chart.getXYPlot().getRenderer().setSeriesOutlinePaint(i, new Color(seriesOutlineColor[i])); } } chart.getXYPlot().setDomainGridlinePaint(new Color(gridColor)); chart.getXYPlot().setRangeGridlinePaint(new Color(gridColor)); chart.getXYPlot().setDomainAxis(0, new DateAxis()); chart.getXYPlot().setDomainAxis(1, new DateAxis()); chart.getXYPlot().setInsets(new RectangleInsets(-15, 0, 0, 10)); response.setHeader("Content-type", "image/png"); response.getOutputStream().write(ChartUtilities.encodeAsPNG(chart.createBufferedImage(width, height))); } return null; }
From source file:msi.gama.outputs.layers.charts.ChartJFreeChartOutputScatter.java
@Override protected AbstractRenderer createRenderer(final IScope scope, final String serieid) { final String style = this.getChartdataset().getDataSeries(scope, serieid).getStyle(scope); AbstractRenderer newr = new myXYErrorRenderer(); switch (style) { case IKeyword.SPLINE: { newr = new XYSplineRenderer(); break;/*from w w w .ja v a2 s . c om*/ } case IKeyword.STEP: { newr = new XYStepRenderer(); break; } case IKeyword.DOT: { newr = new XYShapeRenderer(); break; } case IKeyword.WHISKER: { newr = new XYBoxAndWhiskerRenderer(); break; } case IKeyword.AREA: { newr = new XYAreaRenderer(); break; } case IKeyword.BAR: { newr = new XYBarRenderer(); break; } case IKeyword.THREE_D: { newr = new XYLine3DRenderer(); break; } case IKeyword.STACK: case IKeyword.RING: case IKeyword.EXPLODED: default: { // newr = new FastXYItemRenderer(); newr = new myXYErrorRenderer(); ((myXYErrorRenderer) newr).setMyid(serieid); ((myXYErrorRenderer) newr).setOutput(this); break; } } return newr; }
From source file:org.pentaho.plugin.jfreereport.reportcharts.XYAreaLineChartExpression.java
protected void configureLineChart(final XYPlot plot) { final XYDataset linesDataset = createLinesDataset(); if (linesDataset == null || linesDataset.getSeriesCount() == 0) { return;/*from w ww . ja v a 2 s . c o m*/ } //Create Axis Objects final ValueAxis linesAxis; if (isSharedRangeAxis()) { linesAxis = plot.getRangeAxis(); } else if (isThreeD()) { linesAxis = new NumberAxis3D(getSecondValueAxisLabel()); } else { linesAxis = new NumberAxis(getSecondValueAxisLabel()); } final XYItemRenderer lineRenderer; if (isThreeD()) { lineRenderer = new XYLine3DRenderer(); } else { lineRenderer = new XYLineAndShapeRenderer(); } plot.setRenderer(1, lineRenderer); plot.setDataset(1, linesDataset); plot.setRangeAxis(1, linesAxis); //map lines to second axis plot.mapDatasetToRangeAxis(1, 1); //set location of second axis plot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_RIGHT); }
From source file:org.pentaho.platform.uifoundation.chart.JFreeChartEngine.java
private static JFreeChart createXYSeriesCollectionChart( final XYSeriesCollectionChartDefinition chartDefinition) { JFreeChart chart = null;/*from w ww . j a va 2s. c o m*/ // TODO Make the following accessible from the chartDefinition String domainAxisLabel = null; String rangeAxisLabel = null; boolean tooltips = true; boolean urls = true; // ----------------------------------------------------------- String title = chartDefinition.getTitle(); boolean legend = chartDefinition.isLegendIncluded(); NumberAxis domainAxis = chartDefinition.isThreeD() ? new NumberAxis3D(domainAxisLabel) : new NumberAxis(domainAxisLabel); domainAxis.setAutoRangeIncludesZero(chartDefinition.isDomainIncludesZero()); domainAxis.setAutoRangeStickyZero(chartDefinition.isDomainStickyZero()); ValueAxis rangeAxis = new NumberAxis(rangeAxisLabel); AbstractXYItemRenderer renderer = null; switch (chartDefinition.getChartType()) { case LINE_CHART_TYPE: renderer = chartDefinition.isThreeD() ? new XYLine3DRenderer() : new XYLineAndShapeRenderer(true, false); ((XYLineAndShapeRenderer) renderer).setShapesVisible(chartDefinition.isMarkersVisible()); ((XYLineAndShapeRenderer) renderer).setBaseShapesFilled(chartDefinition.isMarkersVisible()); break; case AREA_CHART_TYPE: renderer = new XYAreaRenderer(); break; case STEP_CHART_TYPE: renderer = new XYStepRenderer(); break; case STEP_AREA_CHART_TYPE: renderer = new XYStepAreaRenderer(); break; case DIFFERENCE_CHART_TYPE: renderer = new XYDifferenceRenderer(); break; case DOT_CHART_TYPE: renderer = new XYDotRenderer(); ((XYDotRenderer) renderer).setDotHeight(chartDefinition.getDotHeight()); ((XYDotRenderer) renderer).setDotWidth(chartDefinition.getDotWidth()); break; default: // should log an error if invalid chart type passed in - at least return null for no renderer return null; } if (renderer != null && legend) { renderer.setLegendItemURLGenerator(new StandardXYSeriesLabelGenerator()); } if (tooltips) { XYToolTipGenerator generator = new StandardXYToolTipGenerator(chartDefinition.getTooltipContent(), new DecimalFormat(chartDefinition.getTooltipXFormat()), new DecimalFormat(chartDefinition.getTooltipYFormat())); renderer.setToolTipGenerator(generator); } if (urls) { renderer.setURLGenerator(new StandardXYURLGenerator()); } renderer.setStroke(JFreeChartEngine.getLineStyleStroke(chartDefinition.getLineStyle(), chartDefinition.getLineWidth())); XYPlot plot = new XYPlot(chartDefinition, domainAxis, rangeAxis, renderer); JFreeChartEngine.updatePlot(plot, chartDefinition); chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend); return chart; }
From source file:org.pentaho.platform.uifoundation.chart.JFreeChartEngine.java
private static JFreeChart createTimeSeriesCollectionChart( final TimeSeriesCollectionChartDefinition chartDefinition) { JFreeChart chart = null;/*from w ww . j ava 2s . co m*/ // TODO Make the following accessible from the chartDefinition String domainAxisLabel = null; String rangeAxisLabel = null; boolean tooltips = true; boolean urls = true; // ----------------------------------------------------------- String title = chartDefinition.getTitle(); boolean legend = chartDefinition.isLegendIncluded(); DateAxis domainAxis = new DateAxis(domainAxisLabel, TimeZone.getDefault()); ValueAxis rangeAxis = new NumberAxis(rangeAxisLabel); XYItemRenderer renderer = null; switch (chartDefinition.getChartType()) { case LINE_CHART_TYPE: renderer = chartDefinition.isThreeD() ? new XYLine3DRenderer() : new XYLineAndShapeRenderer(true, false); ((XYLineAndShapeRenderer) renderer).setShapesVisible(chartDefinition.isMarkersVisible()); ((XYLineAndShapeRenderer) renderer).setBaseShapesFilled(chartDefinition.isMarkersVisible()); break; case AREA_CHART_TYPE: renderer = new XYAreaRenderer(); break; case STEP_CHART_TYPE: renderer = new XYStepRenderer(); break; case STEP_AREA_CHART_TYPE: renderer = new XYStepAreaRenderer(); break; case DIFFERENCE_CHART_TYPE: renderer = new XYDifferenceRenderer(); break; case DOT_CHART_TYPE: renderer = new XYDotRenderer(); ((XYDotRenderer) renderer).setDotHeight(chartDefinition.getDotHeight()); ((XYDotRenderer) renderer).setDotWidth(chartDefinition.getDotWidth()); break; default: // should log an error if invalid chart type passed in - at least return null for no renderer return null; } if (tooltips) { XYToolTipGenerator generator = new StandardXYToolTipGenerator(chartDefinition.getTooltipContent(), new SimpleDateFormat(chartDefinition.getTooltipXFormat()), new DecimalFormat(chartDefinition.getTooltipYFormat())); renderer.setToolTipGenerator(generator); } if (urls) { renderer.setURLGenerator(new StandardXYURLGenerator()); } renderer.setStroke(JFreeChartEngine.getLineStyleStroke(chartDefinition.getLineStyle(), chartDefinition.getLineWidth())); XYPlot plot = new XYPlot(chartDefinition, domainAxis, rangeAxis, renderer); JFreeChartEngine.updatePlot(plot, chartDefinition); chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend); return chart; }
From source file:net.sf.fspdfs.chartthemes.spring.EyeCandySixtiesChartTheme.java
protected JFreeChart createXyLineChart() throws JRException { JFreeChart jfreeChart = super.createXyLineChart(); XYPlot xyPlot = (XYPlot) jfreeChart.getPlot(); XYLineAndShapeRenderer lineRenderer = (XYLineAndShapeRenderer) jfreeChart.getXYPlot().getRenderer(); XYLine3DRenderer line3DRenderer = new XYLine3DRenderer(); line3DRenderer.setBaseToolTipGenerator(lineRenderer.getBaseToolTipGenerator()); line3DRenderer.setURLGenerator(lineRenderer.getURLGenerator()); line3DRenderer.setBaseStroke(new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); line3DRenderer.setBaseLinesVisible(lineRenderer.getBaseLinesVisible()); line3DRenderer.setBaseShapesVisible(lineRenderer.getBaseShapesVisible()); Stroke stroke = new BasicStroke(2f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); XYDataset xyDataset = xyPlot.getDataset(); if (xyDataset != null) { for (int i = 0; i < xyDataset.getSeriesCount(); i++) { line3DRenderer.setSeriesStroke(i, stroke); line3DRenderer.setSeriesLinesVisible(i, lineRenderer.getBaseLinesVisible()); line3DRenderer.setSeriesShapesVisible(i, lineRenderer.getBaseShapesVisible()); }//w ww . jav a 2s. c om } line3DRenderer.setXOffset(2); line3DRenderer.setYOffset(2); line3DRenderer.setWallPaint(ChartThemesConstants.GRAY_PAINT_134); xyPlot.setRenderer(line3DRenderer); return jfreeChart; }