Example usage for org.jfree.chart.axis CategoryAxis CategoryAxis

List of usage examples for org.jfree.chart.axis CategoryAxis CategoryAxis

Introduction

In this page you can find the example usage for org.jfree.chart.axis CategoryAxis CategoryAxis.

Prototype

public CategoryAxis(String label) 

Source Link

Document

Constructs a category axis, using default values where necessary.

Usage

From source file:edu.ucla.stat.SOCR.chart.demo.DotChart.java

protected JFreeChart createChart2(BoxAndWhiskerCategoryDataset dataset) {
    //System.out.println("createChart2 called");
    CategoryAxis domainAxis = new CategoryAxis(null);
    // NumberAxis rangeAxis = new NumberAxis("X");

    //  System.out.println("using the common RangeAxis\n");
    common_rangeAxis.setAutoRange(false);
    // NumberAxis rangeAxis = common_rangeAxis;
    BoxAndWhiskerRenderer renderer = new BoxAndWhiskerRenderer();
    CategoryPlot plot = new CategoryPlot(dataset, domainAxis, common_rangeAxis, renderer);
    JFreeChart chart = new JFreeChart("", plot);

    chart.setBackgroundPaint(Color.white);
    plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0));
    plot.setDomainGridlinePaint(Color.lightGray);
    plot.setDomainGridlinesVisible(true);
    plot.setRangeGridlinePaint(Color.lightGray);
    plot.setOrientation(PlotOrientation.HORIZONTAL);

    //rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    renderer.setFillBox(false);//from   ww  w  .j a  v  a  2 s  .  c  o  m
    // renderer.setLegendItemLabelGenerator(new SOCRCategoryCellLabelGenerator(dataset, values_storage,SERIES_COUNT, CATEGORY_COUNT));

    domainAxis.setLowerMargin(0.46);
    domainAxis.setUpperMargin(0.46);
    chart.removeLegend();
    return chart;

}

From source file:org.fhaes.fhrecorder.view.GraphSummaryOverlay.java

/**
 * This method creates the JFreeChart based on all of the incoming data sets.
 * /*w  ww  . j ava  2s . c  o  m*/
 * @param eventsDataset This is the data set corresponding to the events bar chart graph.
 * @param recordersDataset This is the data set corresponding to the recorders line graph.
 * @param samplesDataset This is the data set corresponding to the samples line graph.
 * @return This returns a JFreeChart with all 3 of the graphs described.
 */
private static JFreeChart createChart(final CategoryDataset eventsDataset,
        final CategoryDataset recordersDataset, final CategoryDataset samplesDataset) {

    final CategoryItemRenderer eventsRenderer = new BarRenderer();
    ((BarRenderer) eventsRenderer).setBarPainter(new StandardBarPainter()); // Remove shine
    ((BarRenderer) eventsRenderer).setShadowVisible(false);
    eventsRenderer.setSeriesPaint(0, new Color(224, 0, 51));
    eventsRenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());

    final CategoryPlot plot = new CategoryPlot();
    plot.setDataset(eventsDataset);
    plot.setRenderer(eventsRenderer);

    plot.setDomainAxis(new CategoryAxis(""));
    plot.setRangeAxis(new NumberAxis(""));

    plot.setOrientation(PlotOrientation.VERTICAL);
    plot.setRangeGridlinesVisible(true);
    plot.setDomainGridlinesVisible(true);

    plot.setDomainAxis(new NumericCategoryAxis());

    plot.getDomainAxis().setTickLabelFont(new Font("SansSerif", Font.PLAIN, 12));

    final CategoryItemRenderer recorderRenderer = new LineAndShapeRenderer(true, false);
    recorderRenderer.setSeriesStroke(0, new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
            1.0f, new float[] { 10.0f, 6.0f }, 0.0f));
    recorderRenderer.setSeriesPaint(0, new Color(102, 102, 255));
    recorderRenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());

    // Temporarily removing recorders dataset
    // plot.setDataset(1, recordersDataset);
    // plot.setRenderer(1, recorderRenderer);

    final CategoryItemRenderer samplesRenderer = new LineAndShapeRenderer(true, false);
    samplesRenderer.setSeriesStroke(0, new BasicStroke(2.0f));
    samplesRenderer.setSeriesPaint(0, new Color(0, 153, 0));
    samplesRenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());
    plot.setDataset(2, samplesDataset);
    plot.setRenderer(2, samplesRenderer);

    plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);

    plot.getDomainAxis().setCategoryLabelPositions(CategoryLabelPositions.UP_90);
    plot.getDomainAxis().setLowerMargin(0.025);
    plot.getDomainAxis().setUpperMargin(0.025);

    final JFreeChart chart = new JFreeChart(plot);

    return chart;
}

From source file:playground.dgrether.events.handlers.DgGeoFilteredLegHistogram.java

private JFreeChart getGraphic(final ModeData modeData, final String modeName) {
    final XYSeriesCollection xyData = new XYSeriesCollection();
    final XYSeries departuresSerie = new XYSeries("departures", false, true);
    final XYSeries arrivalsSerie = new XYSeries("arrivals", false, true);
    final XYSeries onRouteSerie = new XYSeries("en route", false, true);
    int onRoute = 0;
    for (int i = 0; i < modeData.countsDep.length; i++) {
        onRoute = onRoute + modeData.countsDep[i] - modeData.countsArr[i] - modeData.countsStuck[i];
        double hour = i * this.binSizeSeconds / 60.0 / 60.0;
        departuresSerie.add(hour, modeData.countsDep[i]);
        arrivalsSerie.add(hour, modeData.countsArr[i]);
        onRouteSerie.add(hour, onRoute);
    }/*from   w w w.  j  av  a2s .  co  m*/

    xyData.addSeries(departuresSerie);
    xyData.addSeries(arrivalsSerie);
    xyData.addSeries(onRouteSerie);

    final JFreeChart chart = ChartFactory.createXYStepChart(
            "Leg Histogram, " + modeName + ", it." + this.iteration, "time", "# vehicles", xyData,
            PlotOrientation.VERTICAL, true, // legend
            false, // tooltips
            false // urls
    );

    XYPlot plot = chart.getXYPlot();
    plot.getRenderer().setSeriesStroke(0, new BasicStroke(2.0f));
    plot.getRenderer().setSeriesStroke(1, new BasicStroke(2.0f));
    plot.getRenderer().setSeriesStroke(2, new BasicStroke(2.0f));
    plot.setBackgroundPaint(Color.white);
    plot.setRangeGridlinePaint(Color.gray);
    plot.setDomainGridlinePaint(Color.gray);

    final CategoryAxis axis1 = new CategoryAxis("hour");
    axis1.setTickLabelFont(new Font("SansSerif", Font.PLAIN, 7));
    plot.setDomainAxis(new NumberAxis("time"));
    return chart;
}

From source file:at.ac.tuwien.inso.subcat.ui.widgets.TrendChart.java

public JFreeChart createChart(SelectedChart chart) {
    assert (chart != null);

    CategoryAxis domainAxis = new CategoryAxis("Date");
    plot = new CombinedDomainCategoryPlot(domainAxis);
    if (drawingSupplier == null) {
        drawingSupplier = plot.getDrawingSupplier();
    } else {/*from w w  w  . j  a  v a  2 s .  co  m*/
        plot.setDrawingSupplier(drawingSupplier);
    }

    switch (chart) {
    case LINE:
        plot.add(trendPlot, 1);
        break;

    case BAR:
        plot.add(sizePlot, 1);
        break;

    case BOTH:
        plot.add(trendPlot, 1);
        plot.add(sizePlot, 2);
        break;

    default:
        assert (false);
    }

    JFreeChart result = new JFreeChart(null, null, plot, true);

    result.removeLegend();

    return result;
}

From source file:org.ow2.clif.jenkins.ClifProjectAction.java

private JFreeChart createActionErrorGraph(ClifGraphParam params) {
    DataSetBuilder<String, ChartUtil.NumberOnlyBuildLabel> errorsDS = new DataSetBuilder<String, ChartUtil.NumberOnlyBuildLabel>();

    List<AbstractBuild> builds = new ArrayList<AbstractBuild>(getProject().getBuilds());
    Collections.sort(builds);/*from w w w . j av a  2 s.  co m*/
    for (Run<?, ?> currentBuild : builds) {
        Result buildResult = currentBuild.getResult();
        if (buildResult != null && buildResult.isBetterOrEqualTo(Result.SUCCESS)) {
            ChartUtil.NumberOnlyBuildLabel label = new ChartUtil.NumberOnlyBuildLabel(currentBuild);
            ClifBuildAction clifBuildAction = currentBuild.getAction(ClifBuildAction.class);
            if (clifBuildAction == null) {
                continue;
            }
            ClifReport clifReport = clifBuildAction.getReport();
            if (clifReport == null) {
                continue;
            }
            TestPlan tp = clifReport.getTestplan(params.getTestPlan());
            if (tp == null) {
                continue;
            }
            if (tp.getAggregatedMeasures() != null) {
                Measure m = tp.getAggregatedMeasure(params.getLabel());
                if (m == null) {
                    continue;
                }
                errorsDS.add(m.errorPercent() * 100, Messages.ProjectAction_Errors(), label);
            }
        }
    }

    final CategoryAxis xAxis = new CategoryAxis(Messages.ProjectAction_BuildAxis());
    xAxis.setLowerMargin(0.01);
    xAxis.setUpperMargin(0.01);
    xAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
    xAxis.setMaximumCategoryLabelLines(3);

    final ValueAxis errorsAxis = new NumberAxis(Messages.ProjectAction_ErrorAxis());
    errorsAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    errorsAxis.setUpperMargin(0.1);

    final LineAndShapeRenderer errorRenderer = new LineAndShapeRenderer();
    errorRenderer.setItemMargin(0.0);

    final CategoryPlot plot = new CategoryPlot(errorsDS.build(), xAxis, errorsAxis, errorRenderer);
    plot.setBackgroundPaint(Color.WHITE);
    plot.setOutlinePaint(null);
    plot.setForegroundAlpha(0.8f);
    plot.setRangeGridlinesVisible(true);
    plot.setRangeGridlinePaint(Color.black);

    JFreeChart chart = new JFreeChart(Messages.ProjectAction_PercentageOfErrors(), plot);
    chart.setBackgroundPaint(Color.WHITE);

    return chart;
}

From source file:gov.nih.nci.rembrandt.web.graphing.data.GeneExpressionPlot.java

public static HashMap generateBarChart(String gene, String reporter, HttpSession session, PrintWriter pw,
        GeneExpressionDataSetType geType) {
    String log2Filename = null;/* ww  w  . ja va 2 s  .c o m*/
    String rawFilename = null;
    String medianFilename = null;
    String bwFilename = "";
    String legendHtml = null;
    HashMap charts = new HashMap();
    PlotSize ps = PlotSize.MEDIUM;

    final String geneName = gene;
    final String alg = geType.equals(GeneExpressionDataSetType.GeneExpressionDataSet)
            ? RembrandtConstants.REPORTER_SELECTION_AFFY
            : RembrandtConstants.REPORTER_SELECTION_UNI;
    try {
        InstitutionCriteria institutionCriteria = InsitutionAccessHelper.getInsititutionCriteria(session);

        final GenePlotDataSet gpds = new GenePlotDataSet(gene, reporter, institutionCriteria, geType,
                session.getId());
        //final GenePlotDataSet gpds = new GenePlotDataSet(gene, institutionCriteria,GeneExpressionDataSetType.GeneExpressionDataSet );

        //LOG2 Dataset
        DefaultStatisticalCategoryDataset dataset = (DefaultStatisticalCategoryDataset) gpds.getLog2Dataset();

        //RAW Dataset
        CategoryDataset meanDataset = (CategoryDataset) gpds.getRawDataset();

        //B&W dataset
        DefaultBoxAndWhiskerCategoryDataset bwdataset = (DefaultBoxAndWhiskerCategoryDataset) gpds
                .getBwdataset();

        //Median dataset
        CategoryDataset medianDataset = (CategoryDataset) gpds.getMedianDataset();

        charts.put("diseaseSampleCountMap", gpds.getDiseaseSampleCountMap());

        //IMAGE Size Control
        if (bwdataset != null && bwdataset.getRowCount() > 5) {
            ps = PlotSize.LARGE;
        } else {
            ps = PlotSize.MEDIUM;
        }
        //SMALL/MEDIUM == 650 x 400
        //LARGE == 1000 x 400
        //put as external Props?
        int imgW = 650;
        if (ps == PlotSize.LARGE) {
            imgW = new BigDecimal(bwdataset.getRowCount()).multiply(new BigDecimal(75)).intValue() > 1000
                    ? new BigDecimal(bwdataset.getRowCount()).multiply(new BigDecimal(75)).intValue()
                    : 1000;
        }

        JFreeChart bwChart = null;

        //B&W plot
        CategoryAxis xAxis = new CategoryAxis("Disease Type");
        NumberAxis yAxis = new NumberAxis("Log2 Expression Intensity");
        yAxis.setAutoRangeIncludesZero(true);
        BoxAndWhiskerCoinPlotRenderer bwRenderer = null;
        // BoxAndWhiskerRenderer bwRenderer = new BoxAndWhiskerRenderer();
        if (reporter != null) {
            //single reporter, show the coins
            bwRenderer = new BoxAndWhiskerCoinPlotRenderer(gpds.getCoinHash());
            bwRenderer.setDisplayCoinCloud(true);
            bwRenderer.setDisplayMean(false);
            bwRenderer.setDisplayAllOutliers(true);
            bwRenderer.setToolTipGenerator(new CategoryToolTipGenerator() {
                public String generateToolTip(CategoryDataset dataset, int series, int item) {
                    String tt = "";
                    NumberFormat formatter = new DecimalFormat(".####");
                    String key = "";
                    //String s = formatter.format(-1234.567);  // -001235
                    if (dataset instanceof DefaultBoxAndWhiskerCategoryDataset) {
                        DefaultBoxAndWhiskerCategoryDataset ds = (DefaultBoxAndWhiskerCategoryDataset) dataset;
                        try {
                            String med = formatter.format(ds.getMedianValue(series, item));
                            tt += "Median: " + med + "<br/>";
                            tt += "Mean: " + formatter.format(ds.getMeanValue(series, item)) + "<br/>";
                            tt += "Q1: " + formatter.format(ds.getQ1Value(series, item)) + "<br/>";
                            tt += "Q3: " + formatter.format(ds.getQ3Value(series, item)) + "<br/>";
                            tt += "Max: " + formatter.format(
                                    FaroutOutlierBoxAndWhiskerCalculator.getMaxFaroutOutlier(ds, series, item))
                                    + "<br/>";
                            tt += "Min: " + formatter.format(
                                    FaroutOutlierBoxAndWhiskerCalculator.getMinFaroutOutlier(ds, series, item))
                                    + "<br/>";
                            //tt += "<br/><br/>Please click on the box and whisker to view a plot for this reporter.<br/>";
                            //tt += "X: " + ds.getValue(series, item).toString()+"<br/>";
                            //tt += "<br/><a href=\\\'#\\\' id=\\\'"+ds.getRowKeys().get(series)+"\\\' onclick=\\\'alert(this.id);return false;\\\'>"+ds.getRowKeys().get(series)+" plot</a><br/><br/>";
                            key = ds.getRowKeys().get(series).toString();
                        } catch (Exception e) {
                        }
                    }

                    return tt;
                }

            });
        } else {
            //groups, dont show coins
            bwRenderer = new BoxAndWhiskerCoinPlotRenderer();
            bwRenderer.setDisplayAllOutliers(true);
            bwRenderer.setToolTipGenerator(new CategoryToolTipGenerator() {
                public String generateToolTip(CategoryDataset dataset, int series, int item) {
                    String tt = "";
                    NumberFormat formatter = new DecimalFormat(".####");
                    String key = "";
                    //String s = formatter.format(-1234.567);  // -001235
                    if (dataset instanceof DefaultBoxAndWhiskerCategoryDataset) {
                        DefaultBoxAndWhiskerCategoryDataset ds = (DefaultBoxAndWhiskerCategoryDataset) dataset;
                        try {
                            String med = formatter.format(ds.getMedianValue(series, item));
                            tt += "Median: " + med + "<br/>";
                            tt += "Mean: " + formatter.format(ds.getMeanValue(series, item)) + "<br/>";
                            tt += "Q1: " + formatter.format(ds.getQ1Value(series, item)) + "<br/>";
                            tt += "Q3: " + formatter.format(ds.getQ3Value(series, item)) + "<br/>";
                            tt += "Max: " + formatter.format(
                                    FaroutOutlierBoxAndWhiskerCalculator.getMaxFaroutOutlier(ds, series, item))
                                    + "<br/>";
                            tt += "Min: " + formatter.format(
                                    FaroutOutlierBoxAndWhiskerCalculator.getMinFaroutOutlier(ds, series, item))
                                    + "<br/>";
                            tt += "<br/><br/>Please click on the box and whisker to view a plot for this reporter.<br/>";
                            //tt += "X: " + ds.getValue(series, item).toString()+"<br/>";
                            //tt += "<br/><a href=\\\'#\\\' id=\\\'"+ds.getRowKeys().get(series)+"\\\' onclick=\\\'alert(this.id);return false;\\\'>"+ds.getRowKeys().get(series)+" plot</a><br/><br/>";
                            key = ds.getRowKeys().get(series).toString();
                        } catch (Exception e) {
                        }
                    }
                    return "onclick=\"popCoin('" + geneName + "','" + key + "', '" + alg + "');\" | " + tt;

                }

            });
        }
        bwRenderer.setFillBox(false);

        CategoryPlot bwPlot = new CategoryPlot(bwdataset, xAxis, yAxis, bwRenderer);
        bwChart = new JFreeChart(bwPlot);

        //    JFreeChart bwChart = new JFreeChart(
        //       null /*"Gene Expression Plot (" + gene.toUpperCase() + ")"*/,
        //        new Font("SansSerif", Font.BOLD, 14),
        //        bwPlot,
        //        true
        //    );

        bwChart.setBackgroundPaint(java.awt.Color.white);
        //bwChart.getTitle().setHorizontalAlignment(TextTitle.DEFAULT_HORIZONTAL_ALIGNMENT.LEFT);

        bwChart.removeLegend();
        //END BW plot

        // create the chart...for LOG2 dataset
        JFreeChart log2Chart = ChartFactory.createBarChart(
                null /*"Gene Expression Plot (" + gene.toUpperCase() + ")"*/, // chart
                // title
                "Groups", // domain axis label
                "Log2 Expression Intensity", // range axis label
                dataset, // data
                PlotOrientation.VERTICAL, // orientation
                true, // include legend
                true, // tooltips?
                false // URLs?
        );

        //create the chart .... for RAW dataset
        JFreeChart meanChart = ChartFactory.createBarChart(
                null /*"Gene Expression Plot (" + gene.toUpperCase() + ")"*/, // chart
                // title
                "Groups", // domain axis label
                "Mean Expression Intensity", // range axis label
                meanDataset, // data
                PlotOrientation.VERTICAL, // orientation
                true, // include legend
                true, // tooltips?
                false // URLs?
        );

        //         create the chart .... for Median dataset
        JFreeChart medianChart = ChartFactory.createBarChart(
                null /*"Gene Expression Plot (" + gene.toUpperCase() + ")"*/, // chart
                // title
                "Groups", // domain axis label
                "Median Expression Intensity", // range axis label
                medianDataset, // data
                PlotOrientation.VERTICAL, // orientation
                true, // include legend
                true, // tooltips?
                false // URLs?
        );

        log2Chart.setBackgroundPaint(java.awt.Color.white);
        // lets start some customization to retro fit w/jcharts lookand feel
        CategoryPlot log2Plot = log2Chart.getCategoryPlot();
        CategoryAxis log2Axis = log2Plot.getDomainAxis();
        log2Axis.setLowerMargin(0.02); // two percent
        log2Axis.setCategoryMargin(0.20); // 20 percent
        log2Axis.setUpperMargin(0.02); // two percent

        // same for our fake chart - just to get the tooltips
        meanChart.setBackgroundPaint(java.awt.Color.white);
        CategoryPlot meanPlot = meanChart.getCategoryPlot();
        CategoryAxis meanAxis = meanPlot.getDomainAxis();
        meanAxis.setLowerMargin(0.02); // two percent
        meanAxis.setCategoryMargin(0.20); // 20 percent
        meanAxis.setUpperMargin(0.02); // two percent

        //   median plot
        medianChart.setBackgroundPaint(java.awt.Color.white);
        CategoryPlot medianPlot = medianChart.getCategoryPlot();
        CategoryAxis medianAxis = medianPlot.getDomainAxis();
        medianAxis.setLowerMargin(0.02); // two percent
        medianAxis.setCategoryMargin(0.20); // 20 percent
        medianAxis.setUpperMargin(0.02); // two percent

        // customise the renderer...
        StatisticalBarRenderer log2Renderer = new StatisticalBarRenderer();

        // BarRenderer renderer = (BarRenderer) plot.getRenderer();
        log2Renderer.setItemMargin(0.01); // one percent
        log2Renderer.setDrawBarOutline(true);
        log2Renderer.setOutlinePaint(Color.BLACK);
        log2Renderer.setToolTipGenerator(new CategoryToolTipGenerator() {

            public String generateToolTip(CategoryDataset dataset, int series, int item) {
                HashMap pv = gpds.getPValuesHashMap();
                HashMap std_d = gpds.getStdDevMap();

                String currentPV = (String) pv
                        .get(dataset.getRowKey(series) + "::" + dataset.getColumnKey(item));
                String stdDev = (String) std_d
                        .get(dataset.getRowKey(series) + "::" + dataset.getColumnKey(item));

                return "Probeset : " + dataset.getRowKey(series) + "<br/>Intensity : "
                        + new DecimalFormat("0.0000").format(dataset.getValue(series, item)) + "<br/>"
                        + RembrandtConstants.PVALUE + " : " + currentPV + "<br/>Std. Dev.: " + stdDev + "<br/>";
            }

        });
        log2Plot.setRenderer(log2Renderer);
        // customize the  renderer
        BarRenderer meanRenderer = (BarRenderer) meanPlot.getRenderer();
        meanRenderer.setItemMargin(0.01); // one percent
        meanRenderer.setDrawBarOutline(true);
        meanRenderer.setOutlinePaint(Color.BLACK);
        meanRenderer.setToolTipGenerator(new CategoryToolTipGenerator() {

            public String generateToolTip(CategoryDataset dataset, int series, int item) {
                HashMap pv = gpds.getPValuesHashMap();
                HashMap std_d = gpds.getStdDevMap();
                String currentPV = (String) pv
                        .get(dataset.getRowKey(series) + "::" + dataset.getColumnKey(item));

                String stdDev = (String) std_d
                        .get(dataset.getRowKey(series) + "::" + dataset.getColumnKey(item));

                return "Probeset : " + dataset.getRowKey(series) + "<br/>Intensity : "
                        + new DecimalFormat("0.0000").format(dataset.getValue(series, item)) + "<br/>"
                        + RembrandtConstants.PVALUE + ": " + currentPV + "<br/>";
                //"<br/>Std. Dev.: " + stdDev + "<br/>";
            }

        });

        meanPlot.setRenderer(meanRenderer);
        // customize the  renderer
        BarRenderer medianRenderer = (BarRenderer) medianPlot.getRenderer();
        medianRenderer.setItemMargin(0.01); // one percent
        medianRenderer.setDrawBarOutline(true);
        medianRenderer.setOutlinePaint(Color.BLACK);
        medianRenderer.setToolTipGenerator(new CategoryToolTipGenerator() {

            public String generateToolTip(CategoryDataset dataset, int series, int item) {
                HashMap pv = gpds.getPValuesHashMap();
                HashMap std_d = gpds.getStdDevMap();
                String currentPV = (String) pv
                        .get(dataset.getRowKey(series) + "::" + dataset.getColumnKey(item));

                String stdDev = (String) std_d
                        .get(dataset.getRowKey(series) + "::" + dataset.getColumnKey(item));

                return "Probeset : " + dataset.getRowKey(series) + "<br/>Intensity : "
                        + new DecimalFormat("0.0000").format(dataset.getValue(series, item)) + "<br/>"
                        + RembrandtConstants.PVALUE + ": " + currentPV + "<br/>";
                //"<br/>Std. Dev.: " + stdDev + "<br/>";
            }

        });

        // LegendTitle lg = chart.getLegend();

        medianPlot.setRenderer(medianRenderer);
        // lets generate a custom legend - assumes theres only one source?
        LegendItemCollection lic = log2Chart.getLegend().getSources()[0].getLegendItems();
        legendHtml = LegendCreator.buildLegend(lic, "Probesets");

        log2Chart.removeLegend();
        meanChart.removeLegend();
        medianChart.removeLegend();

        //bwChart.removeLegend(); // <-- do this above

        // Write the chart image to the temporary directory
        ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());

        // BW
        if (bwChart != null) {
            int bwwidth = new BigDecimal(1.5).multiply(new BigDecimal(imgW)).intValue();
            bwFilename = ServletUtilities.saveChartAsPNG(bwChart, bwwidth, 400, info, session);
            CustomOverlibToolTipTagFragmentGenerator ttip = new CustomOverlibToolTipTagFragmentGenerator();
            String toolTip = " href='javascript:void(0);' alt='GeneChart JFreechart Plot' ";
            ttip.setExtra(toolTip); //must have href for area tags to have cursor:pointer
            ChartUtilities.writeImageMap(pw, bwFilename, info, ttip, new StandardURLTagFragmentGenerator());
            info.clear(); // lose the first one
            info = new ChartRenderingInfo(new StandardEntityCollection());
        }
        //END  BW
        log2Filename = ServletUtilities.saveChartAsPNG(log2Chart, imgW, 400, info, session);
        CustomOverlibToolTipTagFragmentGenerator ttip = new CustomOverlibToolTipTagFragmentGenerator();
        String toolTip = " alt='GeneChart JFreechart Plot' ";
        ttip.setExtra(toolTip); //must have href for area tags to have cursor:pointer
        ChartUtilities.writeImageMap(pw, log2Filename, info, ttip, new StandardURLTagFragmentGenerator());
        // clear the first one and overwrite info with our second one - no
        // error bars
        info.clear(); // lose the first one
        info = new ChartRenderingInfo(new StandardEntityCollection());
        rawFilename = ServletUtilities.saveChartAsPNG(meanChart, imgW, 400, info, session);
        // Write the image map to the PrintWriter
        // can use a different writeImageMap to pass tooltip and URL custom
        ttip = new CustomOverlibToolTipTagFragmentGenerator();
        toolTip = " alt='GeneChart JFreechart Plot' ";
        ttip.setExtra(toolTip); //must have href for area tags to have cursor:pointer
        ChartUtilities.writeImageMap(pw, rawFilename, info, ttip, new StandardURLTagFragmentGenerator());

        info.clear(); // lose the first one
        info = new ChartRenderingInfo(new StandardEntityCollection());
        medianFilename = ServletUtilities.saveChartAsPNG(medianChart, imgW, 400, info, session);

        // Write the image map to the PrintWriter
        // can use a different writeImageMap to pass tooltip and URL custom
        ttip = new CustomOverlibToolTipTagFragmentGenerator();
        toolTip = " alt='GeneChart JFreechart Plot' ";
        ttip.setExtra(toolTip); //must have href for area tags to have cursor:pointer
        ChartUtilities.writeImageMap(pw, medianFilename, info, ttip, new StandardURLTagFragmentGenerator());

        // ChartUtilities.writeImageMap(pw, filename, info, true);

        pw.flush();

    } catch (Exception e) {
        System.out.println("Exception - " + e.toString());
        e.printStackTrace(System.out);
        log2Filename = "public_error_500x300.png";
    }
    // return filename;
    charts.put("errorBars", log2Filename);
    charts.put("noErrorBars", rawFilename);
    charts.put("medianBars", medianFilename);
    charts.put("bwFilename", bwFilename);
    charts.put("legend", legendHtml);
    charts.put("size", ps.toString());

    return charts;
}

From source file:edu.ucla.stat.SOCR.chart.SuperBoxAndWhiskerChart.java

/**
 * Creates a chart./* w  w  w  .  j a v  a  2s . c o m*/
 * 
 * @param dataset  the dataset.
 * 
 * @return a chart.
 */
protected JFreeChart createChart(BoxAndWhiskerCategoryDataset dataset) {
    // create the chart...

    CategoryAxis domainAxis = new CategoryAxis(null);
    NumberAxis rangeAxis = new NumberAxis("Value");
    CategoryItemRenderer renderer = new BoxAndWhiskerRenderer();
    CategoryPlot plot = new CategoryPlot(dataset, domainAxis, rangeAxis, renderer);
    JFreeChart chart = new JFreeChart(chartTitle, plot);

    chart.setBackgroundPaint(Color.white);

    plot.setBackgroundPaint(Color.lightGray);
    plot.setDomainGridlinePaint(Color.white);
    plot.setDomainGridlinesVisible(true);
    plot.setRangeGridlinePaint(Color.white);

    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    return chart;

}

From source file:org.n52.oxf.render.sos.AnimatedMapBarChartRenderer.java

protected CategoryPlot drawChart4FOI(String featureID, String timeString, ObservedValueTuple tuple) {

    BarRenderer3D barRenderer = new BarRenderer3D();

    CategoryPlot plot = new CategoryPlot();
    plot.setDomainAxis(new CategoryAxis(featureID));

    for (int i = 0; i < observedProperties.length; i++) {
        plot.setDataset(i, createDataset(i, timeString, tuple));
        plot.setRangeAxis(i, new NumberAxis(
                tuple.getPhenomenonNames()[i].split(":")[tuple.getPhenomenonNames()[i].split(":").length - 1]));
        plot.setRenderer(i, barRenderer);
        plot.mapDatasetToRangeAxis(i, i);
    }/*from  w w  w  .j  a  v a  2 s  . c  o  m*/

    return plot;
}

From source file:edu.ucla.stat.SOCR.chart.SuperBoxAndWhiskerChart_Vertical.java

protected JFreeChart createLegend(BoxAndWhiskerCategoryDataset dataset) {

    CategoryAxis domainAxis = new CategoryAxis(null);
    NumberAxis rangeAxis = new NumberAxis("Value");
    BoxAndWhiskerRenderer renderer = new BoxAndWhiskerRenderer();
    CategoryPlot plot = new CategoryPlot(dataset, domainAxis, rangeAxis, renderer);
    JFreeChart chart = new JFreeChart(chartTitle, plot);

    renderer.setLegendItemLabelGenerator(
            new SOCRCategoryCellLabelGenerator(dataset, values_storage, SERIES_COUNT, CATEGORY_COUNT));

    return chart;

}

From source file:keel.Algorithms.UnsupervisedLearning.AssociationRules.Visualization.keelassotiationrulesboxplot.ResultsProccessor.java

public void writeToFile(String outName)
        throws FileNotFoundException, UnsupportedEncodingException, IOException {
    //calcMeans();

    // Create JFreeChart Dataset
    DefaultBoxAndWhiskerCategoryDataset dataset = new DefaultBoxAndWhiskerCategoryDataset();

    HashMap<String, ArrayList<Double>> measuresFirst = algorithmMeasures.entrySet().iterator().next()
            .getValue();//from w  w w.  j  a va 2 s. com
    for (Map.Entry<String, ArrayList<Double>> measure : measuresFirst.entrySet()) {
        String measureName = measure.getKey();
        //Double measureValue = measure.getValue();
        dataset.clear();

        for (Map.Entry<String, HashMap<String, ArrayList<Double>>> entry : algorithmMeasures.entrySet()) {
            String alg = entry.getKey();
            ArrayList<Double> measureValues = entry.getValue().get(measureName);

            // Parse algorithm name to show it correctly
            String aName = alg.substring(0, alg.length() - 1);
            int startAlgName = aName.lastIndexOf("/");
            aName = aName.substring(startAlgName + 1);

            dataset.add(measureValues, aName, measureName);
        }

        // Tutorial: http://www.java2s.com/Code/Java/Chart/JFreeChartBoxAndWhiskerDemo.htm
        final CategoryAxis xAxis = new CategoryAxis("Algorithm");
        final NumberAxis yAxis = new NumberAxis("Value");
        yAxis.setAutoRangeIncludesZero(false);
        final BoxAndWhiskerRenderer renderer = new BoxAndWhiskerRenderer();

        // Black and White
        int numItems = algorithmMeasures.size();
        for (int i = 0; i < numItems; i++) {
            Color color = Color.DARK_GRAY;
            if (i % 2 == 1) {
                color = Color.LIGHT_GRAY;
            }
            renderer.setSeriesPaint(i, color);
            renderer.setSeriesOutlinePaint(i, Color.BLACK);
        }

        renderer.setMeanVisible(false);
        renderer.setFillBox(false);
        renderer.setToolTipGenerator(new BoxAndWhiskerToolTipGenerator());
        final CategoryPlot plot = new CategoryPlot(dataset, xAxis, yAxis, renderer);

        Font font = new Font("SansSerif", Font.BOLD, 10);
        //ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme());
        JFreeChart jchart = new JFreeChart("Assotiation Rules Measures - BoxPlot", font, plot, true);
        //StandardChartTheme.createLegacyTheme().apply(jchart);

        int width = 640 * 2; /* Width of the image */
        int height = 480 * 2; /* Height of the image */

        // JPEG
        File chart = new File(outName + "_" + measureName + "_boxplot.jpg");
        ChartUtilities.saveChartAsJPEG(chart, jchart, width, height);

        // SVG
        SVGGraphics2D g2 = new SVGGraphics2D(width, height);
        Rectangle r = new Rectangle(0, 0, width, height);
        jchart.draw(g2, r);
        File BarChartSVG = new File(outName + "_" + measureName + "_boxplot.svg");
        SVGUtils.writeToSVG(BarChartSVG, g2.getSVGElement());
    }

}