List of usage examples for org.jfree.chart.renderer.xy XYAreaRenderer setSeriesPaint
public void setSeriesPaint(int series, Paint paint)
From source file:org.jfree.chart.demo.CompassFormatDemo1.java
private static JFreeChart createChart() { XYDataset xydataset = createDirectionDataset(600); JFreeChart jfreechart = ChartFactory.createTimeSeriesChart("Time", "Date", "Direction", xydataset, true, true, false);//from w w w . java 2 s.c o m XYPlot xyplot = (XYPlot) jfreechart.getPlot(); xyplot.getDomainAxis().setLowerMargin(0.0D); xyplot.getDomainAxis().setUpperMargin(0.0D); NumberAxis numberaxis = (NumberAxis) xyplot.getRangeAxis(); numberaxis.setAutoRangeIncludesZero(false); TickUnits tickunits = new TickUnits(); tickunits.add(new NumberTickUnit(180D, new CompassFormat())); tickunits.add(new NumberTickUnit(90D, new CompassFormat())); tickunits.add(new NumberTickUnit(45D, new CompassFormat())); tickunits.add(new NumberTickUnit(22.5D, new CompassFormat())); numberaxis.setStandardTickUnits(tickunits); xyplot.setRangeAxis(numberaxis); XYAreaRenderer xyarearenderer = new XYAreaRenderer(); NumberAxis numberaxis1 = new NumberAxis("Force"); numberaxis1.setRange(0.0D, 12D); xyarearenderer.setSeriesPaint(0, new Color(0, 0, 255, 128)); xyplot.setDataset(1, createForceDataset(600)); xyplot.setRenderer(1, xyarearenderer); xyplot.setRangeAxis(1, numberaxis1); xyplot.mapDatasetToRangeAxis(1, 1); return jfreechart; }
From source file:be.vds.jtbdive.client.view.core.dive.profile.DiveProfileChartFactory.java
public static JFreeChart createDiveProfileChartPanel(DiveProfile diveProfile, Locale locale, LengthUnit lengthUnit) {//from w ww . j a v a2 s . c o m XYSeries depthSerie = new XYSeries(SERIE_DEPTH); XYSeriesCollection depthCollection = new XYSeriesCollection(); depthCollection.addSeries(depthSerie); JFreeChart chart = ChartFactory.createXYAreaChart(null, getDomainLegend(locale), getRangeLegend(locale, lengthUnit), depthCollection, PlotOrientation.VERTICAL, false, true, false); XYPlot xyp = chart.getXYPlot(); Paint p = new GradientPaint(0f, 0f, UIAgent.getInstance().getColorWaterBottom(), 200f, 200f, UIAgent.getInstance().getColorWaterSurface(), false); xyp.setBackgroundPaint(p); xyp.setDomainGridlinePaint(UIAgent.getInstance().getColorWaterGrid()); xyp.setRangeGridlinePaint(UIAgent.getInstance().getColorWaterGrid()); ((NumberAxis) xyp.getDomainAxis()).setNumberFormatOverride(new MinutesNumberFormat()); XYAreaRenderer renderer0 = new XYAreaRenderer(); renderer0.setOutline(true); renderer0.setBaseOutlinePaint(UIAgent.getInstance().getColorWaterBottom()); Color baseColor = UIAgent.getInstance().getColorBaseBackground(); renderer0.setSeriesPaint(0, new Color(baseColor.getRed(), baseColor.getGreen(), baseColor.getBlue(), 50)); xyp.setRenderer(0, renderer0); int i = 1; XYSeriesCollection decoEntriesCollection = new XYSeriesCollection(); XYSeries decoEntriesSerie = new XYSeries(SERIE_DECO_ENTRY); decoEntriesCollection.addSeries(decoEntriesSerie); XYLineAndShapeRenderer renderer2 = new XYLineAndShapeRenderer(); renderer2.setSeriesLinesVisible(0, false); renderer2.setAutoPopulateSeriesShape(false); renderer2.setSeriesPaint(0, UIAgent.getInstance().getColorDecoEntries()); renderer2.setBaseShape(DefaultDrawingSupplier.DEFAULT_SHAPE_SEQUENCE[SHAPE_DECO_ENTRY]); xyp.setDataset(i, decoEntriesCollection); xyp.setRenderer(i, renderer2); i++; XYSeriesCollection ascentTooFastCollection = new XYSeriesCollection(); XYSeries ascentTooFastSerie = new XYSeries(SERIE_WARNING_ASCENT_TOO_FAST); ascentTooFastCollection.addSeries(ascentTooFastSerie); renderer2 = new XYLineAndShapeRenderer(); renderer2.setSeriesLinesVisible(0, false); renderer2.setAutoPopulateSeriesShape(false); renderer2.setSeriesPaint(0, UIAgent.getInstance().getColorWarningAscentTooFast()); renderer2.setBaseShape(DefaultDrawingSupplier.DEFAULT_SHAPE_SEQUENCE[SHAPE_ASCENT_TOO_FAST_WARNING]); xyp.setDataset(i, ascentTooFastCollection); xyp.setRenderer(i, renderer2); i++; XYSeriesCollection decoWarningCollection = new XYSeriesCollection(); XYSeries decoWarningSerie = new XYSeries(SERIE_DECO_STOP); decoWarningCollection.addSeries(decoWarningSerie); renderer2 = new XYLineAndShapeRenderer(); renderer2.setSeriesLinesVisible(0, false); renderer2.setAutoPopulateSeriesShape(false); renderer2.setSeriesPaint(0, UIAgent.getInstance().getColorWarningDecoCeiling()); renderer2.setBaseShape(DefaultDrawingSupplier.DEFAULT_SHAPE_SEQUENCE[SHAPE_DECO_WARNING]); xyp.setDataset(i, decoWarningCollection); xyp.setRenderer(i, renderer2); i++; XYSeriesCollection remainBottomTimeCollection = new XYSeriesCollection(); XYSeries remainBottomTimeSerie = new XYSeries(SERIE_REMAINING_BOTTOM_TIME); remainBottomTimeCollection.addSeries(remainBottomTimeSerie); renderer2 = new XYLineAndShapeRenderer(); renderer2.setSeriesLinesVisible(0, false); renderer2.setAutoPopulateSeriesShape(false); renderer2.setSeriesPaint(0, UIAgent.getInstance().getColorWarningRemainingBottomTime()); renderer2.setBaseShape(DefaultDrawingSupplier.DEFAULT_SHAPE_SEQUENCE[SHAPE_REMAINING_BOTTOM_TIME_WARNING]); xyp.setDataset(i, remainBottomTimeCollection); xyp.setRenderer(i, renderer2); Map<Double, Double> depthEntries = diveProfile.getDepthEntries(); Set<Double> ascentWarning = diveProfile.getAscentWarnings(); Set<Double> decoWarnings = diveProfile.getDecoCeilingWarnings(); Set<Double> remainBottomTime = diveProfile.getRemainingBottomTimeWarnings(); Set<Double> decoEntryTime = diveProfile.getDecoEntries(); if (depthEntries.size() > 0 && depthEntries.get(0d) == null) { depthEntries.put(0d, 0d); } for (Double seconds : depthEntries.keySet()) { double d = UnitsAgent.getInstance().convertLengthFromModel(depthEntries.get(seconds), lengthUnit); depthSerie.add(seconds, Double.valueOf(d)); } if (null != ascentWarning) { for (Double seconds : ascentWarning) { ascentTooFastSerie.add(seconds, depthEntries.get(seconds)); } } if (null != decoWarnings) { for (Double seconds : decoWarnings) { decoWarningSerie.add(seconds, depthEntries.get(seconds)); } } if (null != remainBottomTime) { for (Double seconds : remainBottomTime) { remainBottomTimeSerie.add(seconds, depthEntries.get(seconds)); } } if (null != decoEntryTime) { for (Double seconds : decoEntryTime) { decoEntriesSerie.add(seconds, depthEntries.get(seconds)); } } return chart; }
From source file:com.hmsinc.epicenter.webapp.chart.ChartService.java
/** * @param chart// w w w. j ava 2s . c om * @return */ private static XYAreaRenderer getMountainRenderer(final AbstractChart chart) { final XYAreaRenderer renderer = new XYAreaRenderer(); renderer.setOutline(true); for (int i = 0; i < chart.getColors().size(); i++) { final Color c = chart.getColors().get(i); renderer.setSeriesPaint(i, c); renderer.setSeriesOutlinePaint(i, c.darker()); renderer.setSeriesOutlineStroke(i, LineStyle.THICK.getStroke()); } return renderer; }
From source file:jgnash.ui.commodity.SecuritiesHistoryDialog.java
private static JFreeChart createChart(final SecurityNode node) { Objects.requireNonNull(node); final List<SecurityHistoryNode> hNodes = node.getHistoryNodes(); final Date max = DateUtils.asDate(hNodes.get(hNodes.size() - 1).getLocalDate()); final Date min = DateUtils.asDate(hNodes.get(0).getLocalDate()); final DateAxis timeAxis = new DateAxis(null); timeAxis.setVisible(false);//w w w . j a va 2 s .com timeAxis.setAutoRange(false); timeAxis.setRange(min, max); final NumberAxis valueAxis = new NumberAxis(null); valueAxis.setAutoRangeIncludesZero(false); valueAxis.setVisible(false); final XYAreaRenderer renderer = new XYAreaRenderer(); renderer.setBaseToolTipGenerator(new SecurityItemLabelGenerator(node)); renderer.setOutline(true); renderer.setSeriesPaint(0, new Color(225, 247, 223)); final XYPlot plot = new XYPlot(null, timeAxis, valueAxis, renderer); final List<List<SecurityHistoryNode>> groups = node.getHistoryNodeGroupsBySplits(); for (int i = 0; i < groups.size(); i++) { int size = groups.get(i).size(); Date[] date = new Date[size]; double[] high = new double[size]; double[] low = new double[size]; double[] open = new double[size]; double[] close = new double[size]; double[] volume = new double[size]; for (int j = 0; j < size; j++) { final SecurityHistoryNode hNode = groups.get(i).get(j); date[j] = DateUtils.asDate(hNode.getLocalDate()); high[j] = hNode.getAdjustedHigh().doubleValue(); low[j] = hNode.getAdjustedLow().doubleValue(); open[j] = hNode.getAdjustedPrice().doubleValue(); close[j] = hNode.getAdjustedPrice().doubleValue(); volume[j] = hNode.getVolume(); } final AbstractXYDataset data = new DefaultHighLowDataset(node.getDescription() + i, date, high, low, open, close, volume); plot.setDataset(i, data); } plot.setInsets(new RectangleInsets(1, 1, 1, 1)); final JFreeChart chart = new JFreeChart(null, JFreeChart.DEFAULT_TITLE_FONT, plot, false); chart.setBackgroundPaint(null); return chart; }
From source file:view.FuzzySetView.java
private void fillView() { XYAreaRenderer renderer = new XYAreaRenderer(); renderer.setSeriesPaint(0, Color.CYAN); renderer.setSeriesOutlinePaint(0, Color.BLACK); renderer.setSeriesOutlineStroke(0, new BasicStroke(2f)); renderer.setOutline(true);//from w w w .ja va 2s . com plot.setRenderer(renderer); }
From source file:be.vds.jtbdive.client.view.core.dive.profile.DiveProfileChartPanelEditor.java
private Component createChartPanel() { depthSerie = new XYSeries("depth"); XYSeriesCollection depthCollection = new XYSeriesCollection(); depthCollection.addSeries(depthSerie); JFreeChart chart = ChartFactory.createXYLineChart("", I18nResourceManager.sharedInstance().getString("time"), I18nResourceManager.sharedInstance().getString("depth"), depthCollection, PlotOrientation.VERTICAL, true, true, false);//from w ww .j av a 2s. c o m plot = chart.getXYPlot(); Paint p = new GradientPaint(0f, 0f, UIAgent.getInstance().getColorWaterBottom(), 200f, 200f, UIAgent.getInstance().getColorWaterSurface(), false); plot.setBackgroundPaint(p); XYAreaRenderer renderer0 = new XYAreaRenderer(); renderer0.setOutline(true); renderer0.setBaseOutlinePaint(UIAgent.getInstance().getColorProfileEdition()); Color baseColor = UIAgent.getInstance().getColorBaseBackground(); renderer0.setSeriesPaint(0, new Color(baseColor.getRed(), baseColor.getGreen(), baseColor.getBlue(), 50)); plot.setRenderer(0, renderer0); dAxis = new NumberAxis(); rAxis = new NumberAxis(); // dAxis.setAutoRange(false); // rAxis.setAutoRange(false); // dAxis.setRange(0, maxTime); // rAxis.setRange(lowestDepth, 0); plot.setDomainAxis(dAxis); plot.setRangeAxis(rAxis); // plot.setRangeCrosshairLockedOnData(false); // plot.setDomainCrosshairLockedOnData(false); ((NumberAxis) plot.getDomainAxis()).setNumberFormatOverride(new MinutesNumberFormat()); panel = new ChartPanel(chart); // panel.addChartMouseListener(new ChartMouseListener() { // // @Override // public void chartMouseMoved(ChartMouseEvent arg0) { // // TODO Auto-generated method stub // // } // // @Override // public void chartMouseClicked(ChartMouseEvent evt) { // // double x = plot.getDomainAxis().java2DToValue( // panel.translateScreenToJava2D( // evt.getTrigger().getPoint()).getX(), // panel.getChartRenderingInfo().getPlotInfo() // .getDataArea(), plot.getDomainAxisEdge()); // // double y = plot.getRangeAxis().java2DToValue( // panel.translateScreenToJava2D( // evt.getTrigger().getPoint()).getY(), // panel.getChartRenderingInfo().getPlotInfo() // .getDataArea(), plot.getRangeAxisEdge()); // // diveProfileEditor.addEntry(x, y, this); // } // }); createDecoWarningCollection(); createAscentTooFastCollection(); createRemainBottomTimeCollection(); createDecoEntriesCollection(); return panel; }
From source file:course_generator.param.frmEditCurve.java
/** * Create the chart/* w w w .ja v a 2 s . co m*/ * @param dataset Dataset to display * @return Return a JFreeChart object */ private JFreeChart CreateChartProfil(XYDataset dataset) { JFreeChart chart = ChartFactory.createXYAreaChart("", bundle.getString("frmEditCurve.chart.slope"), //"Slope" x axis label bundle.getString("frmEditCurve.chart.speed"), //"speed" y axis label dataset, // data PlotOrientation.VERTICAL, false, // include legend true, // tooltips false // urls ); chart.setBackgroundPaint(Color.white); // Panel background color XYPlot plot = chart.getXYPlot(); plot.setBackgroundPaint(Color.white); plot.setDomainGridlinePaint(Color.gray); plot.setRangeGridlinePaint(Color.gray); // XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); XYAreaRenderer renderer = new XYAreaRenderer(); // Green (safe color) renderer.setSeriesPaint(0, new Color(0x99, 0xff, 0x00)); renderer.setOutline(true); // Width of the outline renderer.setSeriesOutlineStroke(0, new BasicStroke(2.0f)); plot.setRenderer(renderer); // NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); // rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); return chart; }
From source file:info.puzz.trackprofiler.gui.TrackProfilerFrame.java
protected void drawChart() throws TrackProfilerException { if (this.track == null) { throw new TrackProfilerException("track_not_loaded"); //$NON-NLS-1$ }// w w w . ja v a2 s . c om this.computeTrackInfo(); String name = trackFile != null ? trackFile.getName() : "TrackProfiler"; //$NON-NLS-1$ JFreeChart chart; if (TrackProfilerAppContext.getInstance().isFilledGraph()) { chart = ChartFactory.createXYAreaChart(name, new Message(Messages.LENGTH).toString(), new Message(Messages.ELEVATION).toString(), this.toDataset(), PlotOrientation.VERTICAL, true, true, false); } else { chart = ChartFactory.createXYLineChart(name, new Message(Messages.LENGTH).toString(), new Message(Messages.ELEVATION).toString(), this.toDataset(), PlotOrientation.VERTICAL, true, true, false); } chart.setBackgroundPaint(Color.white); XYPlot xyplot = (XYPlot) chart.getPlot(); XYAreaRenderer xyarearenderer = new XYAreaRenderer(); xyarearenderer.setSeriesPaint(0, new Color(186, 197, 231, 200)); xyplot.setRenderer(0, xyarearenderer); drawSelectedPoints(xyplot); if (this.track.getWaypoints().size() > 0) { Waypoints markerPoints = new Waypoints(); markerPoints.addAll(this.track.getWaypoints()); for (int i = 0; i < this.track.getWaypoints().size(); i++) { Waypoint waypoint = (Waypoint) this.track.getWaypoints().get(i); prepareWaypontOnChart(xyplot, waypoint); } xyplot.setAxisOffset(new RectangleInsets(5, 5, 5, 5)); xyplot.getRangeAxis().setUpperMargin(0.15); } if (showExtreemes) { Vector/* <TrackExtreeme> */ extreemes = this.track.findExtremes(); for (int i = 0; i < extreemes.size(); i++) { Waypoint ex = (Waypoint) extreemes.get(i); prepareWaypontOnChart(xyplot, ex); } } getChartPanel().setChart(chart); getJPanel1().repaint(); }
From source file:be.vds.jtbdive.client.view.core.dive.profile.DiveProfileGraphicDetailPanel.java
private Component createGraphicPanel() { depthSerie = new XYSeries(DiveProfileChartFactory.SERIE_DEPTH); XYSeriesCollection depthCollection = new XYSeriesCollection(); depthCollection.addSeries(depthSerie); chart = ChartFactory.createXYAreaChart(null, getDomainLegend(), getRangeLegend(), depthCollection, PlotOrientation.VERTICAL, false, true, false); xyp = chart.getXYPlot();// ww w . j a v a2 s . co m Paint p = new GradientPaint(0f, 0f, UIAgent.getInstance().getColorWaterBottom(), 200f, 200f, UIAgent.getInstance().getColorWaterSurface(), false); xyp.setBackgroundPaint(p); xyp.setDomainGridlinePaint(UIAgent.getInstance().getColorWaterGrid()); xyp.setRangeGridlinePaint(UIAgent.getInstance().getColorWaterGrid()); xyp.setDomainCrosshairVisible(true); xyp.setRangeCrosshairVisible(true); xyp.setRangeCrosshairPaint(UIAgent.getInstance().getColorWaterCrossHair()); xyp.setDomainCrosshairPaint(UIAgent.getInstance().getColorWaterCrossHair()); xyp.setRangeCrosshairLockedOnData(true); xyp.setDomainCrosshairLockedOnData(true); ((NumberAxis) xyp.getDomainAxis()).setNumberFormatOverride(new MinutesNumberFormat()); XYAreaRenderer renderer0 = new XYAreaRenderer(); renderer0.setOutline(true); renderer0.setBaseOutlinePaint(UIAgent.getInstance().getColorWaterBottom()); Color baseColor = UIAgent.getInstance().getColorBaseBackground(); renderer0.setSeriesPaint(0, new Color(baseColor.getRed(), baseColor.getGreen(), baseColor.getBlue(), 50)); xyp.setRenderer(0, renderer0); createDecoWarningCollection(); createAscentTooFastCollection(); createRemainBottomTimeCollection(); createDecoEntriesCollection(); createGazMixCollection(); chartPanel = new ChartPanel(chart); chart.setBackgroundPaint(null); chartPanel.setOpaque(false); chartPanel.addChartMouseListener(new ChartMouseListener() { @Override public void chartMouseMoved(ChartMouseEvent arg0) { } @Override public void chartMouseClicked(ChartMouseEvent evt) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { double x = xyp.getDomainCrosshairValue(); double y = xyp.getRangeCrosshairValue(); Calendar cal = new GregorianCalendar(0, 0, 0, 0, 0, (int) x); instantTimeTf.setText(new SimpleDateFormat("HH:mm:ss").format(cal.getTime())); instantDepthTf.setText(StringManipulator.formatFixedDecimalNumber(y, UIAgent.PRECISION_DEPTH, UIAgent.NUMBER_DECIMAL_CHAR)); } }); } }); return chartPanel; }
From source file:de.dmarcini.submatix.pclogger.gui.spx42LogGraphPanel.java
/** * Erzeuge den Graphen fr die Tiefe Project: SubmatixBTForPC Package: de.dmarcini.submatix.pclogger.gui * // w ww . j av a2 s . com * @author Dirk Marciniak (dirk_marciniak@arcor.de) Stand: 07.08.2012 * @param diveList * @param thePlot */ private void makeDepthGraph(Vector<Integer[]> diveList, XYPlot thePlot) { XYDataset depthDataSet; lg.debug("create depth dataset"); if (showingUnitSystem == savedUnitSystem || showingUnitSystem == ProjectConst.UNITS_DEFAULT) { depthDataSet = createXYDataset( LangStrings.getString("spx42LogGraphPanel.graph.depthScalaTitle") + " " + depthUnitName, diveList, ProjectConst.UNITS_DEFAULT, 0, LogDerbyDatabaseUtil.DEPTH); } else { depthDataSet = createXYDataset( LangStrings.getString("spx42LogGraphPanel.graph.depthScalaTitle") + " " + depthUnitName, diveList, showingUnitSystem, 0, LogDerbyDatabaseUtil.DEPTH); } final NumberAxis depthAxis = new NumberAxis( LangStrings.getString("spx42LogGraphPanel.graph.depthAxisTitle") + " " + depthUnitName); final XYAreaRenderer areaDepthRenderer = new XYAreaRenderer(XYAreaRenderer.AREA); depthAxis.setAutoRangeIncludesZero(true); depthAxis.setLabelPaint(new Color(ProjectConst.GRAPH_DEPTH_ACOLOR)); depthAxis.setTickLabelPaint(new Color(ProjectConst.GRAPH_DEPTH_ACOLOR)); thePlot.setRangeAxis(0, depthAxis); thePlot.setDataset(GRAPH_DEPTH, depthDataSet); thePlot.mapDatasetToRangeAxis(0, GRAPH_DEPTH); areaDepthRenderer.setSeriesPaint(0, new Color(ProjectConst.GRAPH_DEPTH_RCOLOR)); thePlot.setRenderer(GRAPH_DEPTH, areaDepthRenderer, true); }