List of usage examples for org.jfree.data.xy XYDataset getSeriesKey
public Comparable getSeriesKey(int series);
From source file:net.sourceforge.processdash.ev.ui.chart.AbstractEVChart.java
public static String getNameForSeries(XYDataset d, int seriesNum) { String seriesKey = d.getSeriesKey(seriesNum).toString(); String result = SERIES_NAMES.get(seriesKey); if (result != null) return result; else//from w w w . ja va 2s . co m return seriesKey; }
From source file:playground.benjamin.scenarios.zurich.analysis.charts.BkChartWriter.java
public static void writeChartDataToFile(String filename, JFreeChart chart) { filename += ".txt"; try {/*from w w w .j a va 2 s .com*/ 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 {/* ww w .j a v a 2 s . c o 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:org.jfree.data.time.MovingAverage.java
/** * Creates a new {@link XYDataset} containing the moving averages of each * series in the <code>source</code> dataset. * * @param source the source dataset.//ww w. ja va 2 s . c o m * @param suffix the string to append to source series names to create * target series names. * @param period the averaging period. * @param skip the length of the initial skip period. * * @return The dataset. */ public static XYDataset createMovingAverage(XYDataset source, String suffix, double period, double skip) { ParamChecks.nullNotPermitted(source, "source"); XYSeriesCollection result = new XYSeriesCollection(); for (int i = 0; i < source.getSeriesCount(); i++) { XYSeries s = createMovingAverage(source, i, source.getSeriesKey(i) + suffix, period, skip); result.addSeries(s); } return result; }
From source file:org.esa.beam.visat.toolviews.stat.XYPlotToolTipGenerator.java
@Override public String generateToolTip(XYDataset data, int series, int item) { final Comparable key = data.getSeriesKey(series); final double valueX = data.getXValue(series, item); final double valueY = data.getYValue(series, item); return String.format("%s: X = %6.2f, Y = %6.2f", key, valueX, valueY); }
From source file:gda.plots.SimpleXYToolTipGenerator.java
/** * Generates a tool tip text item for a particular item within a series. * /*from w w w .j a v a 2 s.co m*/ * @param data * the dataset. * @param series * the series index (zero-based). * @param item * the item index (zero-based). * @return the tool tip text. */ @Override public String generateToolTip(XYDataset data, int series, int item) { String result = data.getSeriesKey(series) + ", item " + item; Number x = new Double(data.getXValue(series, item)); result = result + " x: " + getXFormat().format(x); Number y = new Double(data.getYValue(series, item)); result = result + ", y: " + getYFormat().format(y); return result; }
From source file:org.n52.server.io.MetadataInURLGenerator.java
public String generateURL(XYDataset dataset, int series, int item) { String seriesID = (String) dataset.getSeriesKey(series); RenderingDesign dd = designDescriptions.get(seriesID); return dd.getUomLabel() + ";" + Integer.toHexString(dd.getColor().getRGB()).substring(2); }
From source file:org.n52.server.sos.generator.MetadataInURLGenerator.java
public String generateURL(XYDataset dataset, int series, int item) { String seriesID = (String) dataset.getSeriesKey(series); // String foiID = seriesID.split("___")[0]; // String obsPropID = seriesID.split("___")[1]; // String procID = seriesID.split("___")[2]; RenderingDesign dd = designDescriptions.get(seriesID); return dd.getUomLabel() + ";" + Integer.toHexString(dd.getColor().getRGB()).substring(2); }
From source file:net.sf.jasperreports.charts.util.XYDatasetLabelGenerator.java
@Override public String generateLabel(XYDataset dataset, int series, int item) { Comparable<?> seriesName = dataset.getSeriesKey(series); Map<Number, String> labels = labelsMap.get(seriesName); if (labels != null) { return labels.get(((XYSeriesCollection) dataset).getX(series, item)); }// w w w . ja va2 s . c o m return super.generateLabel(dataset, series, item); }
From source file:net.sf.jasperreports.charts.util.TimePeriodDatasetLabelGenerator.java
@Override public String generateLabel(XYDataset dataset, int series, int item) { Comparable<?> seriesName = dataset.getSeriesKey(series); Map<TimePeriod, String> labels = labelsMap.get(seriesName); if (labels != null) { return labels.get(((TimePeriodValuesCollection) dataset).getSeries(series).getTimePeriod(item)); }/*from www . j av a 2 s . c o m*/ return super.generateLabel(dataset, series, item); }