List of usage examples for org.jfree.chart.renderer.xy YIntervalRenderer YIntervalRenderer
public YIntervalRenderer()
From source file:org.jfree.chart.demo.YIntervalChartDemo1.java
private static JFreeChart createChart(IntervalXYDataset intervalxydataset) { JFreeChart jfreechart = ChartFactory.createScatterPlot("Y Interval Chart Demo", "X", "Y", intervalxydataset, PlotOrientation.VERTICAL, true, true, false); jfreechart.setBackgroundPaint(Color.white); XYPlot xyplot = (XYPlot) jfreechart.getPlot(); xyplot.setBackgroundPaint(Color.lightGray); xyplot.setDomainGridlinePaint(Color.white); xyplot.setRangeGridlinePaint(Color.white); xyplot.setAxisOffset(new RectangleInsets(4D, 4D, 4D, 4D)); xyplot.setRenderer(new YIntervalRenderer()); return jfreechart; }
From source file:jyplot.XYErrorBar.XYErrorBarRenderer.java
/** Creates a new <tt>XYErrorBarRenderer</tt> */ public XYErrorBarRenderer() { errorBarRenderer = new YIntervalRenderer(); errorBarRenderer.setShape(new Rectangle2D.Double(-5.0, -1.0, 10.0, 1)); setPlotLines(false);// ww w . j a v a 2 s .com // setPlotShapes(true); }
From source file:org.btrg.df.betterologist.swingui.ProjectJobSchedulingPanel.java
private JFreeChart createChart(Schedule schedule) { YIntervalSeriesCollection seriesCollection = new YIntervalSeriesCollection(); Map<Project, YIntervalSeries> projectSeriesMap = new LinkedHashMap<Project, YIntervalSeries>( schedule.getProjectList().size()); YIntervalRenderer renderer = new YIntervalRenderer(); int maximumEndDate = 0; int seriesIndex = 0; for (Project project : schedule.getProjectList()) { YIntervalSeries projectSeries = new YIntervalSeries(project.getLabel()); seriesCollection.addSeries(projectSeries); projectSeriesMap.put(project, projectSeries); renderer.setSeriesShape(seriesIndex, new Rectangle()); renderer.setSeriesStroke(seriesIndex, new BasicStroke(3.0f)); seriesIndex++;/*from ww w . ja v a 2 s .c o m*/ } for (Allocation allocation : schedule.getAllocationList()) { int startDate = allocation.getStartDate(); int endDate = allocation.getEndDate(); YIntervalSeries projectSeries = projectSeriesMap.get(allocation.getProject()); projectSeries.add(allocation.getId(), (startDate + endDate) / 2.0, startDate, endDate); maximumEndDate = Math.max(maximumEndDate, endDate); } NumberAxis domainAxis = new NumberAxis("Job"); domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); domainAxis.setRange(-0.5, schedule.getAllocationList().size() - 0.5); domainAxis.setInverted(true); NumberAxis rangeAxis = new NumberAxis("Day (start to end date)"); rangeAxis.setRange(-0.5, maximumEndDate + 0.5); XYPlot plot = new XYPlot(seriesCollection, domainAxis, rangeAxis, renderer); plot.setOrientation(PlotOrientation.HORIZONTAL); return new JFreeChart("Project Job Scheduling", JFreeChart.DEFAULT_TITLE_FONT, plot, true); }
From source file:it.unibo.alchemist.boundary.gui.asmc.SimplePlot.java
@Override public void batchDone(final double[][] values, final double lower, final double upper, final int sampleSize) { this.removeAll(); final YIntervalSeries series = new YIntervalSeries("Probability of condition satisfaction vs. time"); for (final double[] value : values) { series.add(value[0], value[1], value[2], value[TRE]); }//from ww w . ja v a 2s .c o m final YIntervalSeriesCollection data = new YIntervalSeriesCollection(); data.addSeries(series); final JFreeChart chart = ChartFactory.createXYLineChart("", "X", "Y", data, PlotOrientation.VERTICAL, true, true, false); XYItemRenderer renderer; switch (currentRenderer) { case 1: renderer = new YIntervalRenderer(); break; case 0: default: renderer = new DeviationRenderer(true, false); } final XYPlot plot = (XYPlot) chart.getPlot(); plot.setRenderer(renderer); plot.getDomainAxis().setLowerBound(lower); plot.getDomainAxis().setUpperBound(upper); plot.getRangeAxis().setUpperBound(1.0); plot.getRangeAxis().setLowerBound(0.0); final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(DIMENSION); this.setLayout(new BorderLayout()); this.add(chartPanel, BorderLayout.NORTH); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { chartPanel.getRootPane().validate(); } }); }
From source file:edu.ucla.stat.SOCR.chart.demo.YIntervalChartDemo1.java
/** * Creates a new chart./* ww w. j ava 2s . c om*/ * * @param dataset the dataset. * * @return The chart. */ protected JFreeChart createChart(IntervalXYDataset dataset) { JFreeChart chart = ChartFactory.createScatterPlot(chartTitle, // chart title domainLabel, // domain axis label rangeLabel, // range axis label dataset, // data PlotOrientation.VERTICAL, !legendPanelOn, // include legend true, false); XYPlot plot = chart.getXYPlot(); plot.setRenderer(new YIntervalRenderer()); setXSummary(dataset); return chart; }
From source file:org.jfree.chart.demo.YIntervalChartDemo.java
/** * Creates a new chart./*from w ww .j a v a2s .com*/ * * @param dataset the dataset. * * @return The chart. */ private JFreeChart createChart(final IntervalXYDataset dataset) { final JFreeChart chart = ChartFactory.createScatterPlot("Y Interval Chart Demo", // chart title "X", // domain axis label "Y", // range axis label dataset, // data PlotOrientation.VERTICAL, true, // include legend true, false); final XYPlot plot = chart.getXYPlot(); plot.setRenderer(new YIntervalRenderer()); return chart; }
From source file:com.att.aro.ui.view.diagnostictab.CreateBarPlot.java
public XYPlot drawYIntervalPlot() { // Create the plot renderer YIntervalRenderer renderer = new YIntervalRenderer() { private static final long serialVersionUID = 1L; public void drawItem(Graphics2D g2, XYItemRendererState state, Rectangle2D dataArea, PlotRenderingInfo info, XYPlot plot, ValueAxis domainAxis, ValueAxis rangeAxis, XYDataset dataset, int series, int item, CrosshairState crosshairState, int pass) { // setup for collecting optional entity info... Shape entityArea = null; EntityCollection entities = null; if (info != null) { entities = info.getOwner().getEntityCollection(); }/* www. j av a2 s .c o m*/ IntervalXYDataset intervalDataset = (IntervalXYDataset) dataset; double x = intervalDataset.getXValue(series, item); double yLow = intervalDataset.getStartYValue(series, item); double yHigh = intervalDataset.getEndYValue(series, item); RectangleEdge xAxisLocation = plot.getDomainAxisEdge(); RectangleEdge yAxisLocation = plot.getRangeAxisEdge(); double xx = domainAxis.valueToJava2D(x, dataArea, xAxisLocation); double yyLow = rangeAxis.valueToJava2D(yLow, dataArea, yAxisLocation); double yyHigh = rangeAxis.valueToJava2D(yHigh, dataArea, yAxisLocation); Paint p = getItemPaint(series, item); Stroke s = getItemStroke(series, item); Line2D line = null; PlotOrientation orientation = plot.getOrientation(); if (orientation == PlotOrientation.HORIZONTAL) { line = new Line2D.Double(yyLow, xx, yyHigh, xx); } else if (orientation == PlotOrientation.VERTICAL) { line = new Line2D.Double(xx, yyLow, xx, yyHigh); } g2.setPaint(p); g2.setStroke(s); g2.draw(line); // add an entity for the item... if (entities != null && line != null) { if (entityArea == null) { entityArea = line.getBounds(); } String tip = null; XYToolTipGenerator generator = getToolTipGenerator(series, item); if (generator != null) { tip = generator.generateToolTip(dataset, series, item); } XYItemEntity entity = new XYItemEntity(entityArea, dataset, series, item, tip, null); entities.add(entity); } } }; renderer.setAdditionalItemLabelGenerator(null); renderer.setBaseShape(new Rectangle()); renderer.setAutoPopulateSeriesShape(false); renderer.setAutoPopulateSeriesPaint(false); renderer.setBasePaint(Color.GRAY); // Create the plot XYPlot plot = new XYPlot(null, null, new NumberAxis(), renderer); plot.setRangeAxisLocation(AxisLocation.TOP_OR_LEFT); plot.getRangeAxis().setVisible(false); return plot; }
From source file:org.optaplanner.benchmark.impl.statistic.single.pickedmovetypestepscore.PickedMoveTypeStepScoreDiffSingleStatistic.java
@Override public void writeGraphFiles(BenchmarkReport benchmarkReport) { List<Map<String, XYIntervalSeries>> moveTypeToSeriesMapList = new ArrayList<Map<String, XYIntervalSeries>>( BenchmarkReport.CHARTED_SCORE_LEVEL_SIZE); for (PickedMoveTypeStepScoreDiffStatisticPoint point : getPointList()) { long timeMillisSpent = point.getTimeMillisSpent(); String moveType = point.getMoveType(); double[] levelValues = ScoreUtils.extractLevelDoubles(point.getStepScoreDiff()); for (int i = 0; i < levelValues.length && i < BenchmarkReport.CHARTED_SCORE_LEVEL_SIZE; i++) { if (i >= moveTypeToSeriesMapList.size()) { moveTypeToSeriesMapList.add(new LinkedHashMap<String, XYIntervalSeries>()); }//www. ja v a2s. co m Map<String, XYIntervalSeries> moveTypeToSeriesMap = moveTypeToSeriesMapList.get(i); XYIntervalSeries series = moveTypeToSeriesMap.get(moveType); if (series == null) { series = new XYIntervalSeries(moveType); moveTypeToSeriesMap.put(moveType, series); } double yValue = levelValues[i]; // In an XYInterval the yLow must be lower than yHigh series.add(timeMillisSpent, timeMillisSpent, timeMillisSpent, yValue, (yValue > 0.0) ? 0.0 : yValue, (yValue > 0.0) ? yValue : 0.0); } } graphFileList = new ArrayList<File>(moveTypeToSeriesMapList.size()); for (int scoreLevelIndex = 0; scoreLevelIndex < moveTypeToSeriesMapList.size(); scoreLevelIndex++) { XYPlot plot = createPlot(benchmarkReport, scoreLevelIndex); XYItemRenderer renderer = new YIntervalRenderer(); plot.setRenderer(renderer); XYIntervalSeriesCollection seriesCollection = new XYIntervalSeriesCollection(); for (XYIntervalSeries series : moveTypeToSeriesMapList.get(scoreLevelIndex).values()) { seriesCollection.addSeries(series); } plot.setDataset(seriesCollection); JFreeChart chart = new JFreeChart(singleBenchmarkResult.getName() + " picked move type step score diff level " + scoreLevelIndex + " statistic", JFreeChart.DEFAULT_TITLE_FONT, plot, true); graphFileList.add( writeChartToImageFile(chart, "PickedMoveTypeStepScoreDiffStatisticLevel" + scoreLevelIndex)); } }
From source file:org.optaplanner.benchmark.impl.statistic.subsingle.pickedmovetypestepscore.PickedMoveTypeStepScoreDiffSubSingleStatistic.java
@Override public void writeGraphFiles(BenchmarkReport benchmarkReport) { List<Map<String, XYIntervalSeries>> moveTypeToSeriesMapList = new ArrayList<Map<String, XYIntervalSeries>>( BenchmarkReport.CHARTED_SCORE_LEVEL_SIZE); for (PickedMoveTypeStepScoreDiffStatisticPoint point : getPointList()) { long timeMillisSpent = point.getTimeMillisSpent(); String moveType = point.getMoveType(); double[] levelValues = ScoreUtils.extractLevelDoubles(point.getStepScoreDiff()); for (int i = 0; i < levelValues.length && i < BenchmarkReport.CHARTED_SCORE_LEVEL_SIZE; i++) { if (i >= moveTypeToSeriesMapList.size()) { moveTypeToSeriesMapList.add(new LinkedHashMap<String, XYIntervalSeries>()); }//from w w w . j ava2s .co m Map<String, XYIntervalSeries> moveTypeToSeriesMap = moveTypeToSeriesMapList.get(i); XYIntervalSeries series = moveTypeToSeriesMap.get(moveType); if (series == null) { series = new XYIntervalSeries(moveType); moveTypeToSeriesMap.put(moveType, series); } double yValue = levelValues[i]; // In an XYInterval the yLow must be lower than yHigh series.add(timeMillisSpent, timeMillisSpent, timeMillisSpent, yValue, (yValue > 0.0) ? 0.0 : yValue, (yValue > 0.0) ? yValue : 0.0); } } graphFileList = new ArrayList<File>(moveTypeToSeriesMapList.size()); for (int scoreLevelIndex = 0; scoreLevelIndex < moveTypeToSeriesMapList.size(); scoreLevelIndex++) { XYPlot plot = createPlot(benchmarkReport, scoreLevelIndex); XYItemRenderer renderer = new YIntervalRenderer(); plot.setRenderer(renderer); XYIntervalSeriesCollection seriesCollection = new XYIntervalSeriesCollection(); for (XYIntervalSeries series : moveTypeToSeriesMapList.get(scoreLevelIndex).values()) { seriesCollection.addSeries(series); } plot.setDataset(seriesCollection); JFreeChart chart = new JFreeChart(subSingleBenchmarkResult.getName() + " picked move type step score diff level " + scoreLevelIndex + " statistic", JFreeChart.DEFAULT_TITLE_FONT, plot, true); graphFileList.add( writeChartToImageFile(chart, "PickedMoveTypeStepScoreDiffStatisticLevel" + scoreLevelIndex)); } }
From source file:org.optaplanner.benchmark.impl.statistic.single.pickedmovetypebestscore.PickedMoveTypeBestScoreDiffSingleStatistic.java
@Override public void writeGraphFiles(BenchmarkReport benchmarkReport) { List<Map<String, XYIntervalSeries>> moveTypeToSeriesMapList = new ArrayList<Map<String, XYIntervalSeries>>( BenchmarkReport.CHARTED_SCORE_LEVEL_SIZE); for (PickedMoveTypeBestScoreDiffStatisticPoint point : getPointList()) { long timeMillisSpent = point.getTimeMillisSpent(); String moveType = point.getMoveType(); double[] levelValues = ScoreUtils.extractLevelDoubles(point.getBestScoreDiff()); for (int i = 0; i < levelValues.length && i < BenchmarkReport.CHARTED_SCORE_LEVEL_SIZE; i++) { if (i >= moveTypeToSeriesMapList.size()) { moveTypeToSeriesMapList.add(new LinkedHashMap<String, XYIntervalSeries>()); }/*from w w w . ja v a 2 s .co m*/ Map<String, XYIntervalSeries> moveTypeToSeriesMap = moveTypeToSeriesMapList.get(i); XYIntervalSeries series = moveTypeToSeriesMap.get(moveType); if (series == null) { series = new XYIntervalSeries(moveType); moveTypeToSeriesMap.put(moveType, series); } double yValue = levelValues[i]; // In an XYInterval the yLow must be lower than yHigh series.add(timeMillisSpent, timeMillisSpent, timeMillisSpent, yValue, (yValue > 0.0) ? 0.0 : yValue, (yValue > 0.0) ? yValue : 0.0); } } graphFileList = new ArrayList<File>(moveTypeToSeriesMapList.size()); for (int scoreLevelIndex = 0; scoreLevelIndex < moveTypeToSeriesMapList.size(); scoreLevelIndex++) { XYPlot plot = createPlot(benchmarkReport, scoreLevelIndex); XYItemRenderer renderer = new YIntervalRenderer(); plot.setRenderer(renderer); XYIntervalSeriesCollection seriesCollection = new XYIntervalSeriesCollection(); for (XYIntervalSeries series : moveTypeToSeriesMapList.get(scoreLevelIndex).values()) { seriesCollection.addSeries(series); } plot.setDataset(seriesCollection); JFreeChart chart = new JFreeChart(singleBenchmarkResult.getName() + " picked move type best score diff level " + scoreLevelIndex + " statistic", JFreeChart.DEFAULT_TITLE_FONT, plot, true); graphFileList.add( writeChartToImageFile(chart, "PickedMoveTypeBestScoreDiffStatisticLevel" + scoreLevelIndex)); } }