List of usage examples for org.jfree.data.xy XYZDataset getSeriesKey
public Comparable getSeriesKey(int series);
From source file:org.talend.dataprofiler.chart.util.TopChartFactory.java
/** * Method "createBubbleChart".//from ww w . j ava 2 s .c om * * @param indic the indicator * @param numericColumn the analyzed numeric column * @return the bubble chart */ public static JFreeChart createBubbleChart(String chartName, Object dataset, Map<String, ValueAggregator> xyzDatasets) { final Map<String, ValueAggregator> xyzDatasetsFinal = xyzDatasets; JFreeChart chart = TopChartFactory.createBubbleChart(chartName, Messages.getString("TopChartFactory.average"), Messages.getString("TopChartFactory.count"), //$NON-NLS-1$//$NON-NLS-2$ (DefaultXYZDataset) dataset, PlotOrientation.HORIZONTAL, true, true, true); final XYPlot plot = (XYPlot) chart.getPlot(); final XYItemRenderer renderer = plot.getRenderer(); renderer.setBaseToolTipGenerator(new StandardXYZToolTipGenerator() { private static final long serialVersionUID = 1L; /* * (non-Javadoc) * * @see org.jfree.chart.labels.StandardXYZToolTipGenerator#createItemArray(org.jfree.data.xy.XYZDataset, * int, int) */ @Override protected Object[] createItemArray(XYZDataset dset, int series, int item) { final Comparable<?> seriesKey = dset.getSeriesKey(series); final String seriesK = String.valueOf(seriesKey); String label = seriesK; if (xyzDatasetsFinal != null) { ValueAggregator valueAggregator = xyzDatasetsFinal.get(seriesKey); label = valueAggregator.getLabels(seriesK).get(item); } final Object[] itemArray = super.createItemArray(dset, series, item); itemArray[0] = label;// label; itemArray[1] = "avg=" + itemArray[1]; //$NON-NLS-1$ itemArray[2] = "record count=" + itemArray[2]; //$NON-NLS-1$ itemArray[3] = "null count=" + itemArray[3]; //$NON-NLS-1$ return itemArray; } }); return chart; }
From source file:net.sf.dynamicreports.test.jasper.AbstractJasperChartTest.java
protected void xyzChartDataTest(JFreeChart chart, int series, String seriesName, Number[][] values) { XYZDataset dataset = (XYZDataset) chart.getXYPlot().getDataset(); int index = 0; for (Number[] numbers : values) { Assert.assertEquals("chart data series name", seriesName, dataset.getSeriesKey(series)); Assert.assertEquals("chart data x", numbers[0], dataset.getXValue(series, index)); Assert.assertEquals("chart data y", numbers[1], dataset.getYValue(series, index)); Assert.assertEquals("chart data z", numbers[2], dataset.getZValue(series, index)); index++;//from www .j a v a 2 s .co m } }
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 w w w .j a v a 2 s. c om*/ 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./*from www.jav a 2 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:net.sf.maltcms.chromaui.charts.Chromatogram1DChartProvider.java
/** * * @param dataset//from w w w .ja v a2s . 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; }