Example usage for org.jfree.data.xy XYZDataset getZ

List of usage examples for org.jfree.data.xy XYZDataset getZ

Introduction

In this page you can find the example usage for org.jfree.data.xy XYZDataset getZ.

Prototype

public Number getZ(int series, int item);

Source Link

Document

Returns the z-value for the specified series and item.

Usage

From source file:org.pentaho.plugin.jfreereport.reportcharts.FormulaXYZTooltipGenerator.java

/**
 * Generates a tool tip text item for a particular item within a series.
 *
 * @param dataset the dataset (<code>null</code> not permitted).
 * @param series  the series index (zero-based).
 * @param item    the item index (zero-based).
 * @return The tooltip text (possibly <code>null</code>).
 *///from ww w  .j ava 2 s .com
public String generateToolTip(final XYZDataset dataset, final int series, final int item) {
    try {
        final Object[] values = new Object[] { dataset.getX(series, item), dataset.getY(series, item),
                dataset.getZ(series, item), IntegerCache.getInteger(series), dataset.getSeriesKey(series),
                IntegerCache.getInteger(dataset.getSeriesCount()), IntegerCache.getInteger(item),
                IntegerCache.getInteger(dataset.getItemCount(series)) };
        formulaExpression.setRuntime(
                new WrapperExpressionRuntime(new StaticDataRow(ADDITIONAL_COLUMN_KEYS, values), runtime));
        final Object o = formulaExpression.getValue();
        if (o == null) {
            return null;
        }
        return String.valueOf(o);
    } finally {
        formulaExpression.setRuntime(null);
    }
}

From source file:org.pentaho.plugin.jfreereport.reportcharts.FormulaXYZURLGenerator.java

/**
 * Generates a URL for a particular item within a series. As a guideline, the URL should be valid within the context
 * of an XHTML 1.0 document.//w ww. j a v a  2s.c  om
 *
 * @param dataset the dataset (<code>null</code> not permitted).
 * @param series  the series index (zero-based).
 * @param item    the item index (zero-based).
 * @return A string containing the generated URL.
 */
public String generateURL(final XYZDataset dataset, final int series, final int item) {
    try {
        final Object[] values = new Object[] { dataset.getX(series, item), dataset.getY(series, item),
                dataset.getZ(series, item), IntegerCache.getInteger(series), dataset.getSeriesKey(series),
                IntegerCache.getInteger(dataset.getSeriesCount()), IntegerCache.getInteger(item),
                IntegerCache.getInteger(dataset.getItemCount(series)) };
        formulaExpression.setRuntime(
                new WrapperExpressionRuntime(new StaticDataRow(ADDITIONAL_COLUMN_KEYS, values), runtime));
        final Object o = formulaExpression.getValue();
        if (o == null) {
            return null;
        }
        return String.valueOf(o);
    } finally {
        formulaExpression.setRuntime(null);
    }
}

From source file:com.igalia.java.zk.components.JFreeChartEngine.java

/**
 * decode XYItemEntity into key-value pair of Area's componentScope.
 */// w w w .  ja  v a  2s.  c om
private void decodeXYInfo(Area area, XYItemEntity info, Chart chart) {
    if (info == null) {
        return;
    }
    TimeZone tz = chart.getTimeZone();
    if (tz == null)
        tz = TimeZones.getCurrent();

    XYDataset dataset = info.getDataset();
    int si = info.getSeriesIndex();
    int ii = info.getItem();

    area.setAttribute("series", dataset.getSeriesKey(si));

    if (dataset instanceof XYZDataset) {
        XYZDataset ds = (XYZDataset) dataset;
        area.setAttribute("x", ds.getX(si, ii));
        area.setAttribute("y", ds.getY(si, ii));
        area.setAttribute("z", ds.getZ(si, ii));
    } else {
        area.setAttribute("x", dataset.getX(si, ii));
        area.setAttribute("y", dataset.getY(si, ii));
    }

}

From source file:net.sf.mzmine.chartbasics.gui.javafx.EChartViewer.java

/**
 * Default tries to extract all series from an XYDataset or XYZDataset<br>
 * series 1 | Series 2 <br>/*from ww  w. j  a v a  2  s .c  o  m*/
 * x y x y x y z x y z
 * 
 * @return Data array[columns][rows]
 */
public Object[][] getDataArrayForExport() {
    if (getChart().getPlot() instanceof XYPlot && getChart().getXYPlot() != null
            && getChart().getXYPlot().getDataset() != null) {
        try {
            List<Object[]> modelList = new ArrayList<>();

            for (int d = 0; d < getChart().getXYPlot().getDatasetCount(); d++) {
                XYDataset data = getChart().getXYPlot().getDataset(d);
                if (data instanceof XYZDataset) {
                    XYZDataset xyz = (XYZDataset) data;
                    int series = data.getSeriesCount();
                    Object[][] model = new Object[series * 3][];
                    for (int s = 0; s < series; s++) {
                        int size = 2 + xyz.getItemCount(s);
                        Object[] x = new Object[size];
                        Object[] y = new Object[size];
                        Object[] z = new Object[size];
                        // create new Array model[row][col]
                        // Write header
                        Comparable title = data.getSeriesKey(series);
                        x[0] = title;
                        y[0] = "";
                        z[0] = "";
                        x[1] = getChart().getXYPlot().getDomainAxis().getLabel();
                        y[1] = getChart().getXYPlot().getRangeAxis().getLabel();
                        z[1] = "z-axis";
                        // write data
                        for (int i = 0; i < xyz.getItemCount(s); i++) {
                            x[i + 2] = xyz.getX(s, i);
                            y[i + 2] = xyz.getY(s, i);
                            z[i + 2] = xyz.getZ(s, i);
                        }
                        model[s * 3] = x;
                        model[s * 3 + 1] = y;
                        model[s * 3 + 2] = z;
                    }

                    for (Object[] o : model)
                        modelList.add(o);
                } else {
                    int series = data.getSeriesCount();
                    Object[][] model = new Object[series * 2][];
                    for (int s = 0; s < series; s++) {
                        int size = 2 + data.getItemCount(s);
                        Object[] x = new Object[size];
                        Object[] y = new Object[size];
                        // create new Array model[row][col]
                        // Write header
                        Comparable title = data.getSeriesKey(s);
                        x[0] = title;
                        y[0] = "";
                        x[1] = getChart().getXYPlot().getDomainAxis().getLabel();
                        y[1] = getChart().getXYPlot().getRangeAxis().getLabel();
                        // write data
                        for (int i = 0; i < data.getItemCount(s); i++) {
                            x[i + 2] = data.getX(s, i);
                            y[i + 2] = data.getY(s, i);
                        }
                        model[s * 2] = x;
                        model[s * 2 + 1] = y;
                    }

                    for (Object[] o : model)
                        modelList.add(o);
                }
            }

            return modelList.toArray(new Object[modelList.size()][]);
        } catch (Exception ex) {
            logger.log(Level.WARNING, "Cannot retrieve data for export", ex);
            return null;
        }
    }
    return null;
}

From source file:net.sf.mzmine.chartbasics.gui.swing.EChartPanel.java

/**
 * Default tries to extract all series from an XYDataset or XYZDataset<br>
 * series 1 | Series 2 <br>/*from   w  w w . j  a  va 2  s  .c o m*/
 * x y x y x y z x y z
 * 
 * @return Data array[columns][rows]
 */
public Object[][] getDataArrayForExport() {
    if (getChart().getPlot() instanceof XYPlot && getChart().getXYPlot() != null
            && getChart().getXYPlot().getDataset() != null) {
        try {
            List<Object[]> modelList = new ArrayList<>();

            for (int d = 0; d < getChart().getXYPlot().getDatasetCount(); d++) {
                XYDataset data = getChart().getXYPlot().getDataset(d);
                if (data instanceof XYZDataset) {
                    XYZDataset xyz = (XYZDataset) data;
                    int series = data.getSeriesCount();
                    Object[][] model = new Object[series * 3][];
                    for (int s = 0; s < series; s++) {
                        int size = 2 + xyz.getItemCount(s);
                        Object[] x = new Object[size];
                        Object[] y = new Object[size];
                        Object[] z = new Object[size];
                        // create new Array model[row][col]
                        // Write header
                        Comparable title = data.getSeriesKey(series);
                        x[0] = title;
                        y[0] = "";
                        z[0] = "";
                        x[1] = getChart().getXYPlot().getDomainAxis().getLabel();
                        y[1] = getChart().getXYPlot().getRangeAxis().getLabel();
                        z[1] = "z-axis";
                        // write data
                        for (int i = 0; i < xyz.getItemCount(s); i++) {
                            x[i + 2] = xyz.getX(s, i);
                            y[i + 2] = xyz.getY(s, i);
                            z[i + 2] = xyz.getZ(s, i);
                        }
                        model[s * 3] = x;
                        model[s * 3 + 1] = y;
                        model[s * 3 + 2] = z;
                    }

                    for (Object[] o : model)
                        modelList.add(o);
                } else {
                    int series = data.getSeriesCount();
                    Object[][] model = new Object[series * 2][];
                    for (int s = 0; s < series; s++) {
                        int size = 2 + data.getItemCount(s);
                        Object[] x = new Object[size];
                        Object[] y = new Object[size];
                        // create new Array model[row][col]
                        // Write header
                        Comparable title = data.getSeriesKey(s);
                        x[0] = title;
                        y[0] = "";
                        x[1] = getChart().getXYPlot().getDomainAxis().getLabel();
                        y[1] = getChart().getXYPlot().getRangeAxis().getLabel();
                        // write data
                        for (int i = 0; i < data.getItemCount(s); i++) {
                            x[i + 2] = data.getX(s, i);
                            y[i + 2] = data.getY(s, i);
                        }
                        model[s * 2] = x;
                        model[s * 2 + 1] = y;
                    }

                    for (Object[] o : model)
                        modelList.add(o);
                }
            }

            return modelList.toArray(new Object[modelList.size()][]);
        } catch (Exception ex) {
            return null;
        }
    }
    return null;
}