List of usage examples for org.jfree.chart.renderer.xy XYLineAndShapeRenderer setBaseToolTipGenerator
@Override public void setBaseToolTipGenerator(XYToolTipGenerator generator)
From source file:org.eumetsat.metop.visat.SounderInfoView.java
protected void configureSpectrumPlotRenderer(XYLineAndShapeRenderer renderer) { renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator()); renderer.setSeriesShape(0, new Ellipse2D.Double(-3.0, -3.0, 6.0, 6.0)); renderer.setSeriesShapesVisible(0, true); renderer.setSeriesShapesFilled(0, true); }
From source file:org.eumetsat.metop.visat.IasiInfoView.java
private void configureSpectrumPlotRenderer(XYLineAndShapeRenderer renderer) { renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator()); renderer.setBaseShapesVisible(false); }
From source file:com.marvelution.jira.plugins.hudson.charts.BuildTestResultsRatioChartGenerator.java
/** * {@inheritDoc}// w w w. j a v a2 s . co m */ @Override public ChartHelper generateChart() { buildMap = new HashMap<Integer, Build>(); final CategoryTableXYDataset dataset = new CategoryTableXYDataset(); for (Build build : builds) { final TestResult results = build.getTestResult(); double percentagePass = 0.0D, percentageFail = 0.0D, percentageSkipped = 0.0D; if (results != null && results.getTotal() > 0) { percentagePass = Double.valueOf(results.getPassed()) / Double.valueOf(results.getTotal()) * 100.0D; percentageFail = Double.valueOf(results.getFailed()) / Double.valueOf(results.getTotal()) * 100.0D; percentageSkipped = Double.valueOf(results.getSkipped()) / Double.valueOf(results.getTotal()) * 100.0D; } dataset.add(Double.valueOf(build.getBuildNumber()), percentagePass, seriesNames[0]); dataset.add(Double.valueOf(build.getBuildNumber()), percentageFail, seriesNames[1]); dataset.add(Double.valueOf(build.getBuildNumber()), percentageSkipped, seriesNames[2]); buildMap.put(Integer.valueOf(build.getBuildNumber()), build); } final JFreeChart chart = ChartFactory.createStackedXYAreaChart("", "", getI18n().getText("hudson.charts.tests"), dataset, PlotOrientation.VERTICAL, false, false, false); chart.setBackgroundPaint(Color.WHITE); chart.setBorderVisible(false); XYPlot xyPlot = chart.getXYPlot(); xyPlot.setDataset(1, dataset); if (dataset.getItemCount() > 0) { XYLineAndShapeRenderer shapeRenderer = new XYLineAndShapeRenderer(false, true); shapeRenderer.setSeriesShapesVisible(1, false); shapeRenderer.setSeriesLinesVisible(1, false); shapeRenderer.setSeriesShapesVisible(2, false); shapeRenderer.setSeriesLinesVisible(2, false); shapeRenderer.setSeriesShape(0, new Ellipse2D.Double(-3.0D, -3.0D, 6.0D, 6.0D)); shapeRenderer.setSeriesPaint(0, GREEN_PAINT); shapeRenderer.setSeriesShapesFilled(0, true); shapeRenderer.setBaseToolTipGenerator(this); shapeRenderer.setBaseItemLabelFont(ChartDefaults.defaultFont); shapeRenderer.setBaseItemLabelsVisible(false); xyPlot.setRenderer(0, shapeRenderer); StackedXYAreaRenderer2 renderer = new StackedXYAreaRenderer2(); renderer.setSeriesPaint(0, GREEN_PAINT); renderer.setSeriesPaint(1, RED_PAINT); renderer.setSeriesPaint(2, YELLOW_PAINT); renderer.setBaseItemLabelFont(ChartDefaults.defaultFont); renderer.setBaseItemLabelsVisible(false); xyPlot.setRenderer(1, renderer); renderer.setBaseToolTipGenerator(this); } ValueAxis rangeAxis = xyPlot.getRangeAxis(); rangeAxis.setLowerBound(0.0D); rangeAxis.setUpperBound(100.0D); final NumberAxis domainAxis = new NumberAxis(); domainAxis.setLowerBound(Collections.min(buildMap.keySet())); domainAxis.setUpperBound(Collections.max(buildMap.keySet())); final TickUnitSource ticks = NumberAxis.createIntegerTickUnits(); domainAxis.setStandardTickUnits(ticks); xyPlot.setDomainAxis(domainAxis); ChartUtil.setupPlot(xyPlot); return new ChartHelper(chart); }
From source file:com.mugarov.neview.view.GraphPanel.java
public void setValues(ArrayList<DotBag> dotBags, ArrayList<Median> lines, String name) { CoordinateSeries ser;// w w w. j a v a2 s . co m for (DotBag db : dotBags) { ser = new CoordinateSeries(db.getName()); for (Dot d : db) { ser.add(d.getCoordinates(), d.getName(), d.getScaffoldName()); // System.out.println("New dot:"+d.getLogX()+", "+d.getLogY()); } this.dotSeries.add(ser); } for (Median med : lines) { ser = new CoordinateSeries(med.getName()); ser.add(med.getStart(), med.getName(), null); ser.add(med.getEnd(), med.getName(), null); // System.out.println("New line from " + med.getStart().getX()+","+ med.getStart().getY()+" to "+med.getEnd().getX()+","+ med.getEnd().getY()); this.lineSeries.add(ser); } this.seriesCollection = new CoordinateSeriesCollection(); for (CoordinateSeries dotSeries : this.dotSeries) { this.seriesCollection.addSeries(dotSeries); } for (CoordinateSeries line : this.lineSeries) { this.seriesCollection.addSeries(line); } this.chart = ChartFactory.createXYLineChart(name, GraphPanel.XAxis, GraphPanel.YAxis, this.seriesCollection, PlotOrientation.VERTICAL, true, true, false); this.chart.setBackgroundPaint(Color.white); XYPlot plot = chart.getXYPlot(); ExpAxis x1Axis = new ExpAxis(GraphPanel.XAxis); ExpAxis y1Axis = new ExpAxis(GraphPanel.YAxis); NumberAxis x2Axis = new NumberAxis("Proportion to max of " + GraphPanel.XAxis); NumberAxis y2Axis = new NumberAxis("Proportion to max of " + GraphPanel.YAxis); plot.setDomainAxis(0, x1Axis); plot.setDomainAxis(1, x2Axis); plot.setRangeAxis(0, y1Axis); plot.setRangeAxis(1, y2Axis); // plot.setDomainAxis(1, yAxis); XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); for (int i = 0; i < this.dotSeries.size(); i++) { renderer.setSeriesLinesVisible(i, false); renderer.setSeriesPaint(i, this.colorGen.get(i)); } for (int i = this.dotSeries.size(); i < this.lineSeries.size() + this.dotSeries.size(); i++) { renderer.setSeriesShapesVisible(i, false); // renderer.setSeriesPaint(i, Color.black); renderer.setSeriesPaint(i, this.colorGen.get(i - this.dotSeries.size())); } renderer.setBaseToolTipGenerator(new ItemGenerator()); plot.setRenderer(renderer); plot.setBackgroundPaint(Color.white); plot.setDomainGridlinePaint(Color.MAGENTA); plot.setRangeGridlinePaint(Color.MAGENTA); boolean add = (this.chartPanel == null); this.chartPanel = new ChartPanel(chart); if (add) { this.content.add(this.chartPanel, BorderLayout.CENTER); this.scroll.setViewportView(this.chartPanel); } this.setBackground(Color.green); this.chartPanel.setBackground(Color.MAGENTA); this.updateUI(); }
From source file:com.hello2morrow.sonargraph.jenkinsplugin.model.XYLineAndShapePlot.java
@Override protected void applyRendering(XYPlot plot) { NumberAxis axis = (NumberAxis) plot.getDomainAxis(); axis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer(); renderer.setBaseShapesVisible(true); renderer.setSeriesPaint(0, DATA_COLOR); //Unfortunately, the tooltips are not visible, when the graph gets rendered as a PNG StandardXYToolTipGenerator toolTipGenerator = new StandardXYToolTipGenerator() { private static final long serialVersionUID = -5803780142385784897L; @Override/* ww w.java 2s . c o m*/ public String generateToolTip(XYDataset dataset, int series, int item) { return new StringBuilder(BUILD).append(dataset.getXValue(series, item)).append(COLON) .append(dataset.getYValue(series, item)).toString(); } }; renderer.setBaseToolTipGenerator(toolTipGenerator); }
From source file:de.bund.bfr.knime.pmmlite.views.chart.ChartCreator.java
private List<XYItemRenderer> createStrictRenderers(String id, int n) { List<XYItemRenderer> renderers = new ArrayList<>(); List<Color> colorList = colorLists.containsKey(id) ? colorLists.get(id) : ChartUtils.createColorList(n); List<NamedShape> shapeList = shapeLists.containsKey(id) ? shapeLists.get(id) : ChartUtils.createShapeList(n); for (int i = 0; i < n; i++) { XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(drawLines, true); renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator()); renderer.setSeriesPaint(0, colorList.get(i)); renderer.setSeriesShape(0, shapeList.get(i).getShape()); renderers.add(renderer);/*from w ww . j ava 2 s. c om*/ } return renderers; }
From source file:com.vgi.mafscaling.VECalc.java
protected void createChart(JPanel plotPanel, String xAxisName, String yAxisName) { JFreeChart chart = ChartFactory.createScatterPlot(null, null, null, null, PlotOrientation.VERTICAL, false, true, false);//from ww w . j av a2s .co m chart.setBorderVisible(true); chartPanel = new ChartPanel(chart, true, true, true, true, true); chartPanel.setAutoscrolls(true); chartPanel.setMouseZoomable(false); GridBagConstraints gbl_chartPanel = new GridBagConstraints(); gbl_chartPanel.anchor = GridBagConstraints.CENTER; gbl_chartPanel.insets = new Insets(3, 3, 3, 3); gbl_chartPanel.weightx = 1.0; gbl_chartPanel.weighty = 1.0; gbl_chartPanel.fill = GridBagConstraints.BOTH; gbl_chartPanel.gridx = 0; gbl_chartPanel.gridy = 1; plotPanel.add(chartPanel, gbl_chartPanel); XYLineAndShapeRenderer lineRenderer = new XYLineAndShapeRenderer(); lineRenderer.setUseFillPaint(true); lineRenderer.setBaseToolTipGenerator( new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, new DecimalFormat("0.00"), new DecimalFormat("0.00"))); Stroke stroke = new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 1.0f, null, 0.0f); lineRenderer.setSeriesStroke(0, stroke); lineRenderer.setSeriesPaint(0, Color.RED); lineRenderer.setSeriesShape(0, ShapeUtilities.createDiamond((float) 2.5)); lineRenderer.setLegendItemLabelGenerator(new StandardXYSeriesLabelGenerator() { private static final long serialVersionUID = 7593430826693873496L; public String generateLabel(XYDataset dataset, int series) { XYSeries xys = ((XYSeriesCollection) dataset).getSeries(series); return xys.getDescription(); } }); NumberAxis xAxis = new NumberAxis(xAxisName); xAxis.setAutoRangeIncludesZero(false); NumberAxis yAxis = new NumberAxis(yAxisName); yAxis.setAutoRangeIncludesZero(false); XYSeriesCollection lineDataset = new XYSeriesCollection(); XYPlot plot = chart.getXYPlot(); plot.setRangePannable(true); plot.setDomainPannable(true); plot.setDomainGridlinePaint(Color.DARK_GRAY); plot.setRangeGridlinePaint(Color.DARK_GRAY); plot.setBackgroundPaint(new Color(224, 224, 224)); plot.setDataset(0, lineDataset); plot.setRenderer(0, lineRenderer); plot.setDomainAxis(0, xAxis); plot.setRangeAxis(0, yAxis); plot.mapDatasetToDomainAxis(0, 0); plot.mapDatasetToRangeAxis(0, 0); LegendTitle legend = new LegendTitle(plot.getRenderer()); legend.setItemFont(new Font("Arial", 0, 10)); legend.setPosition(RectangleEdge.TOP); chart.addLegend(legend); }
From source file:edu.dlnu.liuwenpeng.ChartFactory.ChartFactory.java
/** * Creates and returns a time series chart. A time series chart is an * {@link XYPlot} with a {@link DateAxis} for the x-axis and a * {@link NumberAxis} for the y-axis. The default renderer is an * {@link XYLineAndShapeRenderer}. /* w w w .j a v a 2 s . com*/ * <P> * A convenient dataset to use with this chart is a * {@link org.jfree.data.time.TimeSeriesCollection}. * * @param title the chart title (<code>null</code> permitted). * @param timeAxisLabel a label for the time axis (<code>null</code> * permitted). * @param valueAxisLabel a label for the value axis (<code>null</code> * permitted). * @param dataset the dataset for the chart (<code>null</code> permitted). * @param legend a flag specifying whether or not a legend is required. * @param tooltips configure chart to generate tool tips? * @param urls configure chart to generate URLs? * * @return A time series chart. */ public static JFreeChart createTimeSeriesChart(String title, String timeAxisLabel, String valueAxisLabel, XYDataset dataset, boolean legend, boolean tooltips, boolean urls) { ValueAxis timeAxis = new DateAxis(timeAxisLabel); timeAxis.setLowerMargin(0.02); // reduce the default margins timeAxis.setUpperMargin(0.02); NumberAxis valueAxis = new NumberAxis(valueAxisLabel); valueAxis.setAutoRangeIncludesZero(false); // override default XYPlot plot = new XYPlot(dataset, timeAxis, valueAxis, null); XYToolTipGenerator toolTipGenerator = null; if (tooltips) { toolTipGenerator = StandardXYToolTipGenerator.getTimeSeriesInstance(); } XYURLGenerator urlGenerator = null; if (urls) { urlGenerator = new StandardXYURLGenerator(); } XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(true, false); renderer.setBaseToolTipGenerator(toolTipGenerator); renderer.setURLGenerator(urlGenerator); plot.setRenderer(renderer); JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend); return chart; }
From source file:KIDLYFactory.java
/** * Creates and returns a time series chart. A time series chart is an * {@link XYPlot} with a {@link DateAxis} for the x-axis and a * {@link NumberAxis} for the y-axis. The default renderer is an * {@link XYLineAndShapeRenderer}.//from w ww. j a va 2s . co m * <P> * A convenient dataset to use with this chart is a * {@link org.jfree.data.time.TimeSeriesCollection}. * * @param title the chart title (<code>null</code> permitted). * @param timeAxisLabel a label for the time axis (<code>null</code> * permitted). * @param valueAxisLabel a label for the value axis (<code>null</code> * permitted). * @param dataset the dataset for the chart (<code>null</code> permitted). * @param legend a flag specifying whether or not a legend is required. * @param tooltips configure chart to generate tool tips? * @param urls configure chart to generate URLs? * * @return A time series chart. */ public static JFreeChart createTimeSeriesChart(String title, String timeAxisLabel, String valueAxisLabel, XYDataset dataset, boolean legend, boolean tooltips, boolean urls) { ValueAxis timeAxis = new DateAxis(timeAxisLabel); timeAxis.setLowerMargin(0.02); // reduce the default margins timeAxis.setUpperMargin(0.02); NumberAxis valueAxis = new NumberAxis(valueAxisLabel); valueAxis.setAutoRangeIncludesZero(false); // override default XYPlot plot = new XYPlot(dataset, timeAxis, valueAxis, null); XYToolTipGenerator toolTipGenerator = null; if (tooltips) { toolTipGenerator = StandardXYToolTipGenerator.getTimeSeriesInstance(); } XYURLGenerator urlGenerator = null; if (urls) { urlGenerator = new StandardXYURLGenerator(); } XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(true, false); renderer.setBaseToolTipGenerator(toolTipGenerator); renderer.setURLGenerator(urlGenerator); plot.setRenderer(renderer); JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend); currentTheme.apply(chart); return chart; }
From source file:com.prezerak.windmill.gui.AveragesPanel.java
private void plotEverything() { try {/* www. j av a 2s. c om*/ final XYPlot plot = chart.getXYPlot(); ValueAxis domainAxis = plot.getDomainAxis(); plot.getDomainAxis().setLowerMargin(0); plot.getDomainAxis().setUpperMargin(0); plot.getDomainAxis().setAutoRange(true); if (domainAxis instanceof DateAxis) { DateAxis axis = (DateAxis) domainAxis; // customise axis here... //axis.setRange(new Date(startDate), new Date(endDate)); long startT = datasetVel.getDataItem(0).getPeriod().getLastMillisecond(); long endT = datasetVel.getDataItem(datasetVel.getItemCount() - 1).getPeriod().getLastMillisecond(); ; DateFormat formatter; long duration = endT - startT; long _24hrs = 1000 * 60 * 60 * 24; long _3mins = 1000 * 60 * 3; if (duration > _24hrs) { formatter = new SimpleDateFormat("HH:mm dd-MMM"); } else if (endDate - startDate > _3mins && endDate - startDate <= _24hrs) formatter = new SimpleDateFormat("HH:mm"); else //smaller than 3mins formatter = new SimpleDateFormat("HH:mm:ss"); axis.setDateFormatOverride(formatter); } TimeSeriesCollection seriesVel = new TimeSeriesCollection(); seriesVel.addSeries(datasetVel); plot.setDataset(0, seriesVel); final NumberAxis velRangeAxis = (NumberAxis) plot.getRangeAxis(); velRangeAxis.setRange(0.0, maxY); plot.setRangeAxis(velRangeAxis); plot.mapDatasetToRangeAxis(0, 0); XYLineAndShapeRenderer velocityRenderer = (XYLineAndShapeRenderer) plot.getRenderer(0); velocityRenderer.setBaseShapesVisible(true); velocityRenderer.setBaseShapesFilled(false); velocityRenderer.setBaseToolTipGenerator( new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, new SimpleDateFormat("dd-MM-yy, hh:mm:ss a"), new DecimalFormat("00.0"))); velocityRenderer.setSeriesPaint(0, Color.BLACK); if (!rdbtnVelocity.isSelected()) { velocityRenderer.setSeriesVisible(0, false); } else { velocityRenderer.setSeriesVisible(0, true); } TimeSeriesCollection seriesDir = new TimeSeriesCollection(); seriesDir.addSeries(datasetDir); plot.setDataset(1, seriesDir); final ValueAxis dirRangeAxis = new NumberAxis("Direction"); dirRangeAxis.setRange(0.0, 370.0); plot.setRangeAxis(1, dirRangeAxis); plot.mapDatasetToRangeAxis(1, 1); XYLineAndShapeRenderer dirRenderer = (XYLineAndShapeRenderer) plot.getRenderer(1); if (dirRenderer == null) dirRenderer = new XYLineAndShapeRenderer(); dirRenderer.setBaseToolTipGenerator( new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, new SimpleDateFormat("dd-MM-yy, hh:mm:ss a"), new DecimalFormat("00.0"))); plot.setRenderer(1, dirRenderer); dirRenderer.setSeriesPaint(0, Color.BLUE); if (!rdbtnDirection.isSelected()) { dirRenderer.setSeriesVisible(0, false); } else { dirRenderer.setSeriesVisible(0, true); } final ValueAxis alarmsRangeAxis = new NumberAxis("Alarms"); alarmsRangeAxis.setRange(0.0, 1); alarmsRangeAxis.setVisible(false); XYBarRenderer gustRenderer = null; TimePeriodValuesCollection seriesGust = new TimePeriodValuesCollection(datasetGust); plot.setDataset(2, seriesGust); plot.setRangeAxis(2, alarmsRangeAxis); plot.mapDatasetToRangeAxis(2, 2); gustRenderer = (XYBarRenderer) plot.getRenderer(2); if (gustRenderer == null) gustRenderer = new XYBarRenderer(); plot.setRenderer(2, gustRenderer); gustRenderer.setSeriesPaint(0, Color.PINK); if ((rdbtnVelocity.isSelected() || rdbtnDirection.isSelected()) && rdbtnGust.isSelected()) gustRenderer.setSeriesVisible(0, true); else gustRenderer.setSeriesVisible(0, false); XYBarRenderer higherRenderer = null; TimePeriodValuesCollection seriesHigher = new TimePeriodValuesCollection(datasetHigher); plot.setDataset(3, seriesHigher); plot.setRangeAxis(3, alarmsRangeAxis); plot.mapDatasetToRangeAxis(3, 2); higherRenderer = (XYBarRenderer) plot.getRenderer(3); if (higherRenderer == null) higherRenderer = new XYBarRenderer(); plot.setRenderer(3, higherRenderer); higherRenderer.setSeriesPaint(0, Color.RED); if ((rdbtnVelocity.isSelected() || rdbtnDirection.isSelected()) && rdbtnHigher.isSelected()) higherRenderer.setSeriesVisible(0, true); else higherRenderer.setSeriesVisible(0, false); TimePeriodValuesCollection seriesHigh = new TimePeriodValuesCollection(datasetHigh); plot.setDataset(4, seriesHigh); plot.setRangeAxis(4, alarmsRangeAxis); plot.mapDatasetToRangeAxis(4, 2); XYBarRenderer highRenderer = (XYBarRenderer) plot.getRenderer(4); if (highRenderer == null) highRenderer = new XYBarRenderer(); plot.setRenderer(4, highRenderer); highRenderer.setSeriesPaint(0, new Color(206, 33, 85)); if ((rdbtnVelocity.isSelected() || rdbtnDirection.isSelected()) && rdbtnHigh.isSelected()) highRenderer.setSeriesVisible(0, true); else highRenderer.setSeriesVisible(0, false); } catch (OutOfMemoryError e) { WindMill.logger.warn("Out of Memory in plotEverything"); } }