List of usage examples for org.jfree.data.xy XYZDataset getY
public Number getY(int series, int item);
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>). *//* w w w . jav a2 s . co m*/ 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 w w .j a v a2 s .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. *//*from w ww. j ava 2 s.c o m*/ 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.maltcms.chromaui.charts.Chromatogram1DChartProvider.java
/** * * @param dataset// w w w .j av a2 s . c o m * @param tooltipGenerator * @param minRange * @param maxRange * @param useRT * @return */ public XYPlot provide1DCoPlot(XYZDataset dataset, SelectionAwareXYTooltipGenerator tooltipGenerator, double minRange, double maxRange, boolean useRT) { XYBlockRenderer xyb = new XYBlockRenderer(); GradientPaintScale ps = new GradientPaintScale(ImageTools.createSampleTable(256), minRange, maxRange, ImageTools.rampToColorArray(new ColorRampReader().readColorRamp("res/colorRamps/bcgyr.csv"))); xyb.setPaintScale(ps); final String[] colnames = new String[dataset.getSeriesCount()]; for (int i = 0; i < dataset.getSeriesCount(); i++) { colnames[i] = "" + dataset.getSeriesKey(i);//StringTools.removeFileExt(fragments.get(i).getName()); } NumberAxis na = null; if (useRT) { na = new NumberAxis("time [s]"); na.setAutoRangeIncludesZero(false); na.setLowerMargin(0); na.setUpperMargin(0); } else { na = new NumberAxis("scan index"); } // na.setVerticalTickLabels(true); XYPlot xyp = new XYPlot(dataset, na, new SymbolAxis("chromatogram", colnames), xyb); //xyb.setBlockWidth(1); xyp.setBackgroundPaint(ps.getPaint(ps.getLowerBound())); tooltipGenerator.setXYToolTipGenerator(new XYZToolTipGenerator() { @Override public String generateToolTip(XYZDataset xyzd, int i, int i1) { return colnames[xyzd.getY(i, i1).intValue()] + " @" + xyzd.getXValue(i, i1) + " = " + xyzd.getZValue(i, i1); } @Override public String generateToolTip(XYDataset xyd, int i, int i1) { if (xyd instanceof XYZDataset) { return generateToolTip((XYZDataset) xyd, i, i1); } return colnames[xyd.getY(i, i1).intValue()] + ":" + xyd.getXValue(i, i1); } }); xyb.setBaseToolTipGenerator(tooltipGenerator); return xyp; }
From source file:net.sf.maltcms.chromaui.charts.Chromatogram1DChartProvider.java
/** * * @param fragments//www .j a v a 2s . com * @param ticvar * @param useRT * @return */ public XYPlot provide1DCoPlot(List<IFileFragment> fragments, String ticvar, boolean useRT) { final String satVar = "scan_acquisition_time"; DefaultXYZDataset cd = new DefaultXYZDataset(); int rowIdx = 0; double min = 0; double max = 1; double minRT = Double.POSITIVE_INFINITY; double maxRT = Double.NEGATIVE_INFINITY; int y = 0; for (IFileFragment f : fragments) { double[] domainValues = null; if (useRT) { domainValues = (double[]) f.getChild(satVar).getArray().get1DJavaArray(double.class); } else { domainValues = (double[]) f.getChild("scan_index").getArray().get1DJavaArray(double.class); } double[] tic = (double[]) f.getChild(ticvar).getArray().get1DJavaArray(double.class); double maxtic = MathTools.max(tic); double mintic = MathTools.min(tic); double[][] values = new double[3][tic.length]; for (int i = 0; i < tic.length; i++) { values[0][i] = domainValues[i]; values[1][i] = y; values[2][i] = Math.sqrt((tic[i] - mintic) / (maxtic - mintic)); } y++; cd.addSeries(f.getName(), values); } // ArrayDouble.D1 a = new ArrayDouble.D1(npoints); // int offset = 0; // for (IFileFragment f : t) { // Array tic = f.getChild(ticvar).getArray(); // int len = tic.getShape()[0]; // Array.arraycopy(tic, 0, a, offset, len); // offset += len; // } // histogram with fixed binsize // fill intensities into adequate bin, raise count in bin by one // afterwards, relative frequency within a bin gives a normalization // coefficient XYBlockRenderer xyb = new XYBlockRenderer(); GradientPaintScale ps = new GradientPaintScale(ImageTools.createSampleTable(256), min, max, ImageTools.rampToColorArray(new ColorRampReader().readColorRamp("res/colorRamps/bcgyr.csv"))); xyb.setPaintScale(ps); final String[] colnames = new String[fragments.size()]; for (int i = 0; i < colnames.length; i++) { colnames[i] = StringTools.removeFileExt(fragments.get(i).getName()); } NumberAxis na = null; if (useRT) { na = new NumberAxis("time [s]"); na.setAutoRangeIncludesZero(false); na.setLowerMargin(0); na.setUpperMargin(0); } else { na = new NumberAxis("scan index"); } // na.setVerticalTickLabels(true); XYPlot xyp = new XYPlot(cd, na, new SymbolAxis("chromatogram", colnames), xyb); xyb.setBlockWidth(1); xyp.setBackgroundPaint(Color.BLACK); xyb.setBaseToolTipGenerator(new XYZToolTipGenerator() { @Override public String generateToolTip(XYZDataset xyzd, int i, int i1) { return colnames[xyzd.getY(i, i1).intValue()] + " @" + xyzd.getXValue(i, i1) + " = " + xyzd.getZValue(i, i1); } @Override public String generateToolTip(XYDataset xyd, int i, int i1) { if (xyd instanceof XYZDataset) { return generateToolTip((XYZDataset) xyd, i, i1); } return colnames[xyd.getY(i, i1).intValue()] + ":" + xyd.getXValue(i, i1); } }); return xyp; }
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 w w w . j a va 2s .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 2s .co 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; }