Example usage for org.jfree.chart.renderer.xy YIntervalRenderer YIntervalRenderer

List of usage examples for org.jfree.chart.renderer.xy YIntervalRenderer YIntervalRenderer

Introduction

In this page you can find the example usage for org.jfree.chart.renderer.xy YIntervalRenderer YIntervalRenderer.

Prototype

public YIntervalRenderer() 

Source Link

Document

The default constructor.

Usage

From source file:org.optaplanner.benchmark.impl.statistic.subsingle.pickedmovetypebestscore.PickedMoveTypeBestScoreDiffSubSingleStatistic.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   www .  ja v  a  2  s.c o 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 best score diff level " + scoreLevelIndex + " statistic",
                JFreeChart.DEFAULT_TITLE_FONT, plot, true);
        graphFileList.add(
                writeChartToImageFile(chart, "PickedMoveTypeBestScoreDiffStatisticLevel" + scoreLevelIndex));
    }
}

From source file:com.att.aro.main.PacketPlots.java

/**
 * The utility method that creates the packet plots from a packet series map
 *//*from www.j a v a  2s.c  o  m*/
private XYPlot createPlot() {

    // 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();
            }

            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) {
                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:edu.ucla.stat.SOCR.chart.ChartGenerator_JTable.java

private JFreeChart createYIntervalChart(String title, String xLabel, String yLabel, IntervalXYDataset dataset) {
    JFreeChart chart = ChartFactory.createScatterPlot(title, // chart title
            xLabel, // domain axis label
            yLabel, // range axis label
            dataset, // data
            orientation, true, // include legend
            true, false);//from  w  ww  . j a  va 2  s.  c  o m

    XYPlot plot = chart.getXYPlot();
    plot.setRenderer(new YIntervalRenderer());

    return chart;
}