Example usage for org.jfree.chart.plot CategoryPlot getRenderer

List of usage examples for org.jfree.chart.plot CategoryPlot getRenderer

Introduction

In this page you can find the example usage for org.jfree.chart.plot CategoryPlot getRenderer.

Prototype

public CategoryItemRenderer getRenderer(int index) 

Source Link

Document

Returns the renderer at the given index.

Usage

From source file:net.sf.maltcms.common.charts.api.ChartCustomizer.java

/**
 *
 * @param plot/*from w  w  w .j a v a2  s  .co m*/
 * @param alpha
 */
public static void setSeriesColors(CategoryPlot plot, float alpha) {

    int datasets = plot.getDatasetCount();
    for (int i = 0; i < datasets; i++) {
        CategoryDataset ds = plot.getDataset(i);
        CategoryItemRenderer renderer = plot.getRenderer(i);
        //            System.out.println("Dataset has " + ds.getRowCount() + " rows");
        for (int j = 0; j < ds.getRowCount(); j++) {
            renderer.setSeriesPaint(j, withAlpha(plotColors[j % plotColors.length], alpha));
        }
    }
}

From source file:net.sf.maltcms.chromaui.charts.ChartCustomizer.java

/**
 *
 * @param plot/* w  w  w. ja v a  2 s.com*/
 * @param alpha
 */
public static void setSeriesColors(CategoryPlot plot, float alpha) {

    int datasets = plot.getDatasetCount();
    for (int i = 0; i < datasets; i++) {
        CategoryDataset ds = plot.getDataset(i);
        CategoryItemRenderer renderer = plot.getRenderer(i);
        Logger.getLogger(ChartCustomizer.class.getName()).log(Level.INFO, "Dataset has {0} rows",
                ds.getRowCount());
        Logger.getLogger(ChartCustomizer.class.getName()).log(Level.INFO, "Dataset has {0} columns",
                ds.getColumnCount());
        for (int j = 0; j < ds.getRowCount(); j++) {
            renderer.setSeriesPaint(j, withAlpha(plotColors[j % plotColors.length], alpha));
        }
    }
}

From source file:net.sf.maltcms.common.charts.api.ChartCustomizer.java

/**
 *
 * @param plot//  w  w w.  ja v  a  2s.  c o  m
 * @param alpha
 * @param colors
 */
public static void setSeriesColors(CategoryPlot plot, float alpha, List<Color> colors) {
    int datasets = plot.getDatasetCount();
    for (int i = 0; i < datasets; i++) {
        CategoryDataset ds = plot.getDataset(i);
        CategoryItemRenderer renderer = plot.getRenderer(i);
        //            System.out.println("Dataset has " + ds.getRowCount() + " rows");
        for (int j = 0; j < ds.getRowCount(); j++) {
            renderer.setSeriesPaint(j, withAlpha(colors.get(j), alpha));
        }
    }
}

From source file:net.sf.maltcms.chromaui.charts.ChartCustomizer.java

/**
 *
 * @param plot/*from w ww  . j a v a 2s  .  c o  m*/
 * @param alpha
 * @param colors
 */
public static void setSeriesColors(CategoryPlot plot, float alpha, List<Color> colors) {
    int datasets = plot.getDatasetCount();
    for (int i = 0; i < datasets; i++) {
        CategoryDataset ds = plot.getDataset(i);
        CategoryItemRenderer renderer = plot.getRenderer(i);
        Logger.getLogger(ChartCustomizer.class.getName()).log(Level.INFO, "Dataset has {0} rows",
                ds.getRowCount());
        Logger.getLogger(ChartCustomizer.class.getName()).log(Level.INFO, "Dataset has {0} columns",
                ds.getColumnCount());
        for (int j = 0; j < ds.getRowCount(); j++) {
            //                if (ds.getRowCount() != colors.size()) {
            //                    throw new IllegalArgumentException("Number of datasets and number of colors must be equal!");
            //                }
            renderer.setSeriesPaint(j, withAlpha(colors.get(j), alpha));
        }
    }
}

From source file:org.jfree.chart.demo.DualAxisDemo1.java

private static JFreeChart createChart() {
    JFreeChart jfreechart = ChartFactory.createBarChart("Dual Axis Chart", "Category", "Value",
            createDataset1(), PlotOrientation.VERTICAL, false, true, false);
    jfreechart.setBackgroundPaint(Color.white);
    CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
    categoryplot.setBackgroundPaint(new Color(238, 238, 255));
    categoryplot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
    CategoryDataset categorydataset = createDataset2();
    categoryplot.setDataset(1, categorydataset);
    categoryplot.mapDatasetToRangeAxis(1, 1);
    CategoryAxis categoryaxis = categoryplot.getDomainAxis();
    categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_45);
    NumberAxis numberaxis = new NumberAxis("Secondary");
    categoryplot.setRangeAxis(1, numberaxis);
    LineAndShapeRenderer lineandshaperenderer = new LineAndShapeRenderer();
    lineandshaperenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());
    categoryplot.setRenderer(1, lineandshaperenderer);
    categoryplot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
    LegendTitle legendtitle = new LegendTitle(categoryplot.getRenderer(0));
    legendtitle.setMargin(new RectangleInsets(2D, 2D, 2D, 2D));
    legendtitle.setFrame(new BlockBorder());
    LegendTitle legendtitle1 = new LegendTitle(categoryplot.getRenderer(1));
    legendtitle1.setMargin(new RectangleInsets(2D, 2D, 2D, 2D));
    legendtitle1.setFrame(new BlockBorder());
    BlockContainer blockcontainer = new BlockContainer(new BorderArrangement());
    blockcontainer.add(legendtitle, RectangleEdge.LEFT);
    blockcontainer.add(legendtitle1, RectangleEdge.RIGHT);
    blockcontainer.add(new EmptyBlock(2000D, 0.0D));
    CompositeTitle compositetitle = new CompositeTitle(blockcontainer);
    compositetitle.setPosition(RectangleEdge.BOTTOM);
    jfreechart.addSubtitle(compositetitle);
    return jfreechart;
}

From source file:de.fub.maps.project.detector.model.inference.ui.InferenceResultPanel.java

public void updateView(InferenceDataProcessHandler.ClassificationResult classificationResult) {
    DefaultCategoryDataset relDataset = getClassificationBarChart().getRelDataset();
    DefaultCategoryDataset absDataset = getClassificationBarChart().getAbsDataset();
    relDataset.clear();//  w  w w  .ja  v a2s .  c o  m
    absDataset.clear();
    dataItemList.clear();
    Map<String, List<Instance>> resultMap = classificationResult.getResultMap();
    if (!resultMap.isEmpty()) {
        double sum = 0;

        for (Entry<String, List<Instance>> entry : resultMap.entrySet()) {
            sum += entry.getValue().size();
        }
        CategoryPlot plot = getClassificationBarChart().getPlot();
        CategoryItemRenderer relRenderer = plot.getRenderer(0);
        CategoryItemRenderer absRenderer = plot.getRenderer(1);
        ArrayList<String> arrayList = new ArrayList<String>(resultMap.keySet());
        Collections.sort(arrayList);

        for (String transportMode : arrayList) {
            double abs = resultMap.get(transportMode).size();
            double rel = abs / sum * 100;
            absDataset.addValue(null, "Instances (rel.)", transportMode);
            absDataset.addValue(abs, "Instances (abs.)", transportMode);
            relDataset.addValue(rel, "Instances (rel.)", transportMode);
            relDataset.addValue(null, "Instances (abs.)", transportMode);
            dataItemList.add(new DataItem(transportMode, rel, abs));
        }
        final LegendItemCollection result = new LegendItemCollection();
        result.add(relRenderer.getLegendItem(0, 0));
        result.add(absRenderer.getLegendItem(1, 1));

        double classified = (sum / classificationResult.getInstanceToTrackSegmentMap().size() * 100);
        double notClassified = ((classificationResult.getInstanceToTrackSegmentMap().size() - sum)
                / classificationResult.getInstanceToTrackSegmentMap().size() * 100);
        getClassifiedInstances().setText(MessageFormat.format("{0, number, 000.00} %", classified));
        getNotClassifiedInstances().setText(MessageFormat.format("{0, number, 000.00} %", notClassified));

        repaint();
    }
}

From source file:org.pentaho.chart.plugin.jfreechart.chart.JFreeChartGenerator.java

/**
 * Sets the series item label(s) defined in the chartDocument
 *
 * @param categoryPlot   - Plot for the current chart
 * @param seriesElements - Array of Series elements
 * @param data           - the data//w ww  .ja  v  a2s .c  o  m
 */
protected void setSeriesItemLabel(final CategoryPlot categoryPlot, final ChartElement[] seriesElements,
        final ChartTableModel data) {
    final int numOfDatasets = categoryPlot.getDatasetCount();
    for (int datasetCounter = 0; datasetCounter < numOfDatasets; datasetCounter++) {
        categoryPlot.getRenderer(datasetCounter)
                .setBaseItemLabelGenerator(new ChartItemLabelGenerator(seriesElements, data));

        final int numOfSeriesElements = seriesElements.length;
        for (int seriesCounter = 0; seriesCounter < numOfSeriesElements; seriesCounter++) {
            // Get and set font information only if the item label's visibility is set to true
            if (JFreeChartUtils.showItemLabel(seriesElements[seriesCounter])) {
                final Font font = JFreeChartUtils.getFont(seriesElements[seriesCounter]);
                final CategoryItemRenderer categoryItemRenderer = categoryPlot.getRenderer(datasetCounter);
                if (categoryItemRenderer instanceof BarRenderer) {
                    final BarRenderer barRender = (BarRenderer) categoryItemRenderer;
                    barRender.setSeriesItemLabelFont(seriesCounter, font, true);
                    barRender.setSeriesItemLabelsVisible(seriesCounter, Boolean.TRUE, true);
                } else if (categoryItemRenderer instanceof AreaRenderer) {
                    final AreaRenderer areaRender = (AreaRenderer) categoryItemRenderer;
                    areaRender.setSeriesItemLabelFont(seriesCounter, font, true);
                    areaRender.setSeriesPositiveItemLabelPosition(seriesCounter,
                            new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.TOP_CENTER));
                    areaRender.setSeriesNegativeItemLabelPosition(seriesCounter,
                            new ItemLabelPosition(ItemLabelAnchor.OUTSIDE6, TextAnchor.BOTTOM_CENTER));
                    areaRender.setSeriesItemLabelsVisible(seriesCounter, Boolean.TRUE, true);
                }
            }
        }
    }
}