List of usage examples for org.jfree.chart.plot CategoryPlot getDatasetCount
public int getDatasetCount()
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); } } } } }