Example usage for org.jfree.data.xy XYDataset getSeriesKey

List of usage examples for org.jfree.data.xy XYDataset getSeriesKey

Introduction

In this page you can find the example usage for org.jfree.data.xy XYDataset getSeriesKey.

Prototype

public Comparable getSeriesKey(int series);

Source Link

Document

Returns the key for a series.

Usage

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);
}