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

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

Introduction

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

Prototype

public int getDatasetCount() 

Source Link

Document

Returns the number of datasets.

Usage

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

/**
 *
 * @param plot/*  w w  w . j av  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);
        //            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.j  a v  a  2s . 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);
        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/*from w  w  w  .  ja  v  a 2  s  .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/*  ww  w.  j  ava2  s.c om*/
 * @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:playground.benjamin.scenarios.zurich.analysis.charts.BkChartWriter.java

public static void writeChartDataToFile(String filename, JFreeChart chart) {
    filename += ".txt";
    try {/*from w  ww.  ja v a 2  s. co m*/
        BufferedWriter writer = IOUtils.getBufferedWriter(filename);
        try { /*read "try" as if (plot instanceof XYPlot)*/
            XYPlot xy = chart.getXYPlot();
            String yAxisLabel = xy.getRangeAxis().getLabel();

            String xAxisLabel = "";
            if (xy.getDomainAxis() != null) {
                xAxisLabel = xy.getDomainAxis().getLabel();
            }
            String header = xAxisLabel + "\t " + yAxisLabel;
            writer.write(header);
            writer.newLine();
            for (int i = 0; i < xy.getDatasetCount(); i++) {
                XYDataset xyds = xy.getDataset(i);
                for (int seriesIndex = 0; seriesIndex < xyds.getSeriesCount(); seriesIndex++) {
                    writer.newLine();
                    writer.write("Series " + "'" + xyds.getSeriesKey(seriesIndex).toString());
                    writer.write("'");
                    writer.newLine();
                    int items = xyds.getItemCount(seriesIndex);
                    for (int itemsIndex = 0; itemsIndex < items; itemsIndex++) {
                        Number xValue = xyds.getX(seriesIndex, itemsIndex);
                        Number yValue = xyds.getY(seriesIndex, itemsIndex);
                        writer.write(xValue.toString());
                        writer.write("\t");
                        writer.write(yValue.toString());
                        writer.newLine();
                    }
                }
            }
            System.out.println("Table written to : " + filename + "\n"
                    + "==================================================");

        } catch (ClassCastException e) { //else instanceof CategoryPlot
            log.info("caught class cast exception, trying to write CategoryPlot");
            CategoryPlot cp = chart.getCategoryPlot();
            String header = "CategoryRowKey \t CategoryColumnKey \t CategoryRowIndex \t CategoryColumnIndex \t Value";
            writer.write(header);
            writer.newLine();
            for (int i = 0; i < cp.getDatasetCount(); i++) {
                CategoryDataset cpds = cp.getDataset(i);
                for (int rowIndex = 0; rowIndex < cpds.getRowCount(); rowIndex++) {
                    for (int columnIndex = 0; columnIndex < cpds.getColumnCount(); columnIndex++) {
                        Number value = cpds.getValue(rowIndex, columnIndex);
                        writer.write(cpds.getRowKey(rowIndex).toString());
                        writer.write("\t");
                        writer.write(cpds.getColumnKey(columnIndex).toString());
                        writer.write("\t");
                        writer.write(Integer.toString(rowIndex));
                        writer.write("\t");
                        writer.write(Integer.toString(columnIndex));
                        writer.write("\t");
                        writer.write(value.toString());
                        writer.newLine();
                    }
                }
            }

        }
        writer.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

}

From source file:playground.dgrether.analysis.charts.utils.DgChartWriter.java

public static void writeChartDataToFile(String filename, JFreeChart chart) {
    filename += ".txt";
    try {//w  w w. j  av  a2s  .  co  m
        BufferedWriter writer = IOUtils.getBufferedWriter(filename);
        try { /*read "try" as if (plot instanceof XYPlot)*/
            XYPlot xy = chart.getXYPlot();
            String yAxisLabel = xy.getRangeAxis().getLabel();

            String xAxisLabel = "";
            if (xy.getDomainAxis() != null) {
                xAxisLabel = xy.getDomainAxis().getLabel();
            }
            String header = "#" + xAxisLabel + "\t " + yAxisLabel;
            writer.write(header);
            writer.newLine();
            //write the header
            writer.write("#");
            for (int i = 0; i < xy.getDatasetCount(); i++) {
                XYDataset xyds = xy.getDataset(i);
                int seriesIndex = 0;
                int maxItems = 0;
                int seriesCount = xyds.getSeriesCount();
                while (seriesIndex < seriesCount) {
                    writer.write("Series " + xyds.getSeriesKey(seriesIndex).toString());
                    if (seriesIndex < seriesCount - 1) {
                        writer.write("\t \t");
                    }
                    if (xyds.getItemCount(seriesIndex) > maxItems) {
                        maxItems = xyds.getItemCount(seriesIndex);
                    }
                    seriesIndex++;
                }
                writer.newLine();

                //write the data
                Number xValue, yValue = null;
                for (int itemsIndex = 0; itemsIndex < maxItems; itemsIndex++) {
                    for (int seriesIdx = 0; seriesIdx < seriesCount; seriesIdx++) {
                        if (seriesIdx < xyds.getSeriesCount() && itemsIndex < xyds.getItemCount(seriesIdx)) {
                            xValue = xyds.getX(seriesIdx, itemsIndex);
                            yValue = xyds.getY(seriesIdx, itemsIndex);
                            if (xValue != null && yValue != null) {
                                writer.write(xValue.toString());
                                writer.write("\t");
                                writer.write(yValue.toString());
                                if (seriesIdx < seriesCount - 1) {
                                    writer.write("\t");
                                }
                            }
                        }
                    }
                    writer.newLine();
                }
            }
        } catch (ClassCastException e) { //else instanceof CategoryPlot
            log.info("Due to a caught class cast exception, it should be a CategoryPlot");
            CategoryPlot cp = chart.getCategoryPlot();
            String header = "# CategoryRowKey \t CategoryColumnKey \t CategoryRowIndex \t CategoryColumnIndex \t Value";
            writer.write(header);
            writer.newLine();
            for (int i = 0; i < cp.getDatasetCount(); i++) {
                CategoryDataset cpds = cp.getDataset(i);
                for (int rowIndex = 0; rowIndex < cpds.getRowCount(); rowIndex++) {
                    for (int columnIndex = 0; columnIndex < cpds.getColumnCount(); columnIndex++) {
                        Number value = cpds.getValue(rowIndex, columnIndex);
                        writer.write(cpds.getRowKey(rowIndex).toString());
                        writer.write("\t");
                        writer.write(cpds.getColumnKey(columnIndex).toString());
                        writer.write("\t");
                        writer.write(Integer.toString(rowIndex));
                        writer.write("\t");
                        writer.write(Integer.toString(columnIndex));
                        writer.write("\t");
                        writer.write(value.toString());
                        writer.newLine();
                    }
                }
            }

        }
        writer.close();
        log.info("Chart data written to: " + filename);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

}

From source file:ca.sqlpower.wabit.swingui.chart.effect.BarChartAnimatorFactory.java

public boolean canAnimate(JFreeChart chart) {
    if (!(chart.getPlot() instanceof CategoryPlot)) {
        return false;
    }//from   ww  w.j  a  v a2 s.c  o  m
    CategoryPlot cplot = chart.getCategoryPlot();
    if (cplot.getDatasetCount() != 1) {
        return false;
    }
    if (!(cplot.getDataset() instanceof DefaultCategoryDataset)) {
        return false;
    }
    return true;
}

From source file:net.sf.maltcms.chromaui.charts.events.ChartPanelMouseListener.java

/**
 *
 * @param arg0/*from   w  ww  . ja  v  a  2  s .c  om*/
 */

@Override
public void chartMouseClicked(final ChartMouseEvent arg0) {
    final ChartPanelMouseListener cpml = this;
    if (arg0.getEntity() != null) {
        if (arg0.getEntity() instanceof XYItemEntity) {
            XYItemEntity xyie = (XYItemEntity) arg0.getEntity();

            if (arg0.getTrigger().getButton() == MouseEvent.BUTTON1) {
                //                
                if (arg0.getTrigger().isAltDown() && arg0.getTrigger().isShiftDown()) {
                    //                        System.out.println("Item removed");
                    fireEvent(new XYItemEntityRemovedEvent((XYItemEntity) arg0.getEntity(), cpml));
                } else if (arg0.getTrigger().isAltDown()) {
                    //                        System.out.println("Item added");
                    fireEvent(new XYItemEntityAddedEvent((XYItemEntity) arg0.getEntity(), cpml));
                } else {
                    setTarget(arg0);
                    //                        System.out.println("Item clicked");
                    fireEvent(new XYItemEntityClickedEvent((XYItemEntity) arg0.getEntity(), cpml));
                }
            }
        } else if (arg0.getEntity() instanceof LegendItemEntity) {
            JPopupMenu jpm = new JPopupMenu();
            final LegendItemEntity lie = (LegendItemEntity) arg0.getEntity();
            Dataset ds = lie.getDataset();
            Comparable skey = lie.getSeriesKey();
            Plot plot = arg0.getChart().getPlot();
            if (plot instanceof XYPlot) {
                XYPlot xyplot = arg0.getChart().getXYPlot();
                if (xyplot.getSeriesCount() > 1) {
                    XYDataset xyds = (XYDataset) ds;
                    XYItemRenderer xyir = xyplot.getRendererForDataset(xyds);

                    xyir.setSeriesVisible(xyds.indexOf(skey), !xyir.isSeriesVisible(xyds.indexOf(skey)));
                    xyir.setSeriesVisibleInLegend(xyds.indexOf(skey), Boolean.TRUE);
                }
            } else if (plot instanceof CategoryPlot) {
                CategoryPlot cplot = arg0.getChart().getCategoryPlot();
                if (cplot.getDatasetCount() > 1) {
                    CategoryDataset cds = (CategoryDataset) ds;
                    CategoryItemRenderer xyir = cplot.getRendererForDataset(cds);
                    int seriesIndex = cds.getColumnIndex(skey);
                    if (seriesIndex == -1) {
                        seriesIndex = cds.getRowIndex(skey);
                    }
                    xyir.setSeriesVisible(seriesIndex, !xyir.isSeriesVisible(seriesIndex));
                    xyir.setSeriesVisibleInLegend(seriesIndex, Boolean.TRUE);
                }
            }
            //                AbstractAction hse = new AbstractAction("Hide") {
            //
            //                    @Override
            //                    public void actionPerformed(ActionEvent ae) {
            //                        
            //                    }
            //                };
            //                AbstractAction hse = new AbstractAction("Show") {
            //
            //                    @Override
            //                    public void actionPerformed(ActionEvent ae) {
            //                        
            //                    }
            //                };
            //                AbstractAction hse = new AbstractAction("Remove") {
            //
            //                    @Override
            //                    public void actionPerformed(ActionEvent ae) {
            //                        
            //                    }
            //                };
        }
    }
}

From source file:msi.gama.outputs.layers.charts.ChartJFreeChartOutputHistogram.java

@Override
protected void clearDataSet(final IScope scope) {
    // TODO Auto-generated method stub
    super.clearDataSet(scope);
    final CategoryPlot plot = (CategoryPlot) this.chart.getPlot();
    for (int i = plot.getDatasetCount() - 1; i >= 1; i--) {
        plot.setDataset(i, null);//from w  ww.j av a2  s  . c o m
        plot.setRenderer(i, null);
    }
    ((DefaultCategoryDataset) jfreedataset.get(0)).clear();
    jfreedataset.clear();
    jfreedataset.add(0, new DefaultCategoryDataset());
    plot.setDataset((DefaultCategoryDataset) jfreedataset.get(0));
    plot.setRenderer(0, null);
    IdPosition.clear();
    nbseries = 0;
}

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//from w ww.  j a va  2s  . co  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);
                }
            }
        }
    }
}