Example usage for org.jfree.data.category CategoryDataset getValue

List of usage examples for org.jfree.data.category CategoryDataset getValue

Introduction

In this page you can find the example usage for org.jfree.data.category CategoryDataset getValue.

Prototype

public Number getValue(Comparable rowKey, Comparable columnKey);

Source Link

Document

Returns the value associated with the specified keys.

Usage

From source file:com.att.aro.main.PercentLabelGenerator.java

/**
 * Returns a percentage label string using the data in the specified row and
 * column of the dataset.//  ww w  .  ja va  2  s . c om
 * 
 * @param dataset
 *            The dataset containing the data for the chart.
 * 
 * @param row
 *            The row of data in the dataset.
 * 
 * @param column
 *            The column of data in the dataset.
 * 
 * @return A string that is the percentage label.
 */
@Override
public String generateLabel(CategoryDataset dataset, int row, int column) {
    Number value = dataset.getValue(row, column);
    return value != null ? formatter.format(value.doubleValue()) : "";
}

From source file:org.javarebel.chart.generator.DefaultChartLabelGenerator.java

@Override
public String generateLabel(CategoryDataset arg0, int arg1, int arg2) {
    Number val = arg0.getValue(arg1, arg2);
    return (val != null && val.doubleValue() != 0.0D) ? numFrmt.format(val) : "";
}

From source file:com.att.aro.ui.view.overviewtab.PercentLabelGenerator.java

/**
 * Returns a percentage label string using the data in the specified row and
 * column of the dataset./*from www .ja v  a2 s .c o  m*/
 * 
 * @param dataset
 *            The dataset containing the data for the chart.
 * 
 * @param row
 *            The row of data in the dataset.
 * 
 * @param column
 *            The column of data in the dataset.
 * 
 * @return A string that is the percentage label.
 */
@Override
public String generateLabel(CategoryDataset dataset, int row, int column) {
    Number value = dataset.getValue(row, column);
    String gLabel = "";
    if (CommonHelper.isNotNull(value)) {
        gLabel = formatter.format(value.doubleValue());
    }
    return gLabel;
}

From source file:org.sakaiproject.evaluation.tool.reporting.LikertPercentageItemLabelGenerator.java

public String generateLabel(CategoryDataset dataset, int series, int category) {
    Number value = dataset.getValue(series, category);
    if (value == null)
        return "";
    double doubleVal = value.doubleValue();
    int intVal = value.intValue();
    if (doubleVal == 0.0) {
        return "0 % (0)";
    } else if (totalItems != 0) {

        double percentage = doubleVal / doubleTotalItems * 100;
        // return percentage + " % (" + intVal + ")";
        // return String.format("%.2f %s (%s)", percentage,"%", intVal+"");
        return String.format("%.0f %s (%s)", percentage, "%", intVal + "");
    } else if (value != null) {
        return value.toString();
    }/* www . ja  v  a 2  s  .com*/
    return "";
}

From source file:unikn.dbis.univis.visualization.chart.LabelGenerator.java

/**
 * Makes a own legend./*  w w  w .j  a v a2s  .  c  om*/
 *
 * @param dataset
 * @param series
 * @return String for nice legend.
 */
public String generateLabel(CategoryDataset dataset, int series) {
    Integer value = dataset.getValue(series, 0).intValue();
    Comparable name = dataset.getRowKey(series);
    Double percent = ((full / total) * value);

    return name.toString() + " = " + value.toString() + " -> " + decimalFormat.format(percent) + "%";
}

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

/**
 * Creates the array of items that can be passed to the {@link java.text.MessageFormat} class for creating labels.
 *
 * @param dataset the dataset (<code>null</code> not permitted).
 * @param row     the row index (zero-based).
 * @param column  the column index (zero-based).
 * @return The items (never <code>null</code>).
 *///from   w ww .j  a v a 2 s .  c  om
protected Object[] createItemArray(final CategoryDataset dataset, final int row, final int column) {
    final Object[] objects = super.createItemArray(dataset, row, column);
    final Number value = dataset.getValue(row, column);
    objects[2] = formatValue(value);
    return objects;
}

From source file:org.jfree.chart.demo.CylinderRenderer.java

public void drawItem(Graphics2D graphics2d, CategoryItemRendererState categoryitemrendererstate,
        Rectangle2D rectangle2d, CategoryPlot categoryplot, CategoryAxis categoryaxis, ValueAxis valueaxis,
        CategoryDataset categorydataset, int i, int j, int k) {
    Number number = categorydataset.getValue(i, j);
    if (number == null)
        return;//  w ww  .  j a v a  2  s .  co m
    double d = number.doubleValue();
    java.awt.geom.Rectangle2D.Double double1 = new java.awt.geom.Rectangle2D.Double(rectangle2d.getX(),
            rectangle2d.getY() + getYOffset(), rectangle2d.getWidth() - getXOffset(),
            rectangle2d.getHeight() - getYOffset());
    PlotOrientation plotorientation = categoryplot.getOrientation();
    double d1 = calculateBarW0(categoryplot, plotorientation, double1, categoryaxis, categoryitemrendererstate,
            i, j);
    double ad[] = calculateBarL0L1(d);
    if (ad == null)
        return;
    RectangleEdge rectangleedge = categoryplot.getRangeAxisEdge();
    float f = (float) valueaxis.valueToJava2D(ad[0], double1, rectangleedge);
    float f1 = (float) valueaxis.valueToJava2D(ad[1], double1, rectangleedge);
    float f2 = Math.min(f, f1);
    float f3 = Math.abs(f1 - f);
    GeneralPath generalpath = new GeneralPath();
    java.awt.geom.Ellipse2D.Double double2 = null;
    if (plotorientation == PlotOrientation.HORIZONTAL) {
        generalpath.moveTo((float) ((double) f2 + getXOffset() / 2D), (float) d1);
        generalpath.lineTo((float) ((double) (f2 + f3) + getXOffset() / 2D), (float) d1);
        java.awt.geom.Arc2D.Double double3 = new java.awt.geom.Arc2D.Double(f2 + f3, d1, getXOffset(),
                categoryitemrendererstate.getBarWidth(), 90D, 180D, 0);
        generalpath.append(double3, true);
        generalpath.lineTo((float) ((double) f2 + getXOffset() / 2D),
                (float) (d1 + categoryitemrendererstate.getBarWidth()));
        double3 = new java.awt.geom.Arc2D.Double(f2, d1, getXOffset(), categoryitemrendererstate.getBarWidth(),
                270D, -180D, 0);
        generalpath.append(double3, true);
        generalpath.closePath();
        double2 = new java.awt.geom.Ellipse2D.Double(f2 + f3, d1, getXOffset(),
                categoryitemrendererstate.getBarWidth());
    } else {
        generalpath.moveTo((float) d1, (float) ((double) f2 - getYOffset() / 2D));
        generalpath.lineTo((float) d1, (float) ((double) (f2 + f3) - getYOffset() / 2D));
        java.awt.geom.Arc2D.Double double4 = new java.awt.geom.Arc2D.Double(d1,
                (double) (f2 + f3) - getYOffset(), categoryitemrendererstate.getBarWidth(), getYOffset(), 180D,
                180D, 0);
        generalpath.append(double4, true);
        generalpath.lineTo((float) (d1 + categoryitemrendererstate.getBarWidth()),
                (float) ((double) f2 - getYOffset() / 2D));
        double4 = new java.awt.geom.Arc2D.Double(d1, (double) f2 - getYOffset(),
                categoryitemrendererstate.getBarWidth(), getYOffset(), 0.0D, -180D, 0);
        generalpath.append(double4, true);
        generalpath.closePath();
        double2 = new java.awt.geom.Ellipse2D.Double(d1, (double) f2 - getYOffset(),
                categoryitemrendererstate.getBarWidth(), getYOffset());
    }
    Object obj = getItemPaint(i, j);
    if (getGradientPaintTransformer() != null && (obj instanceof GradientPaint)) {
        GradientPaint gradientpaint = (GradientPaint) obj;
        obj = getGradientPaintTransformer().transform(gradientpaint, generalpath);
    }
    graphics2d.setPaint(((java.awt.Paint) (obj)));
    graphics2d.fill(generalpath);
    if (obj instanceof GradientPaint) {
        graphics2d.setPaint(((GradientPaint) obj).getColor2());
    }
    if (double2 != null) {
        graphics2d.fill(double2);
    }
    if (isDrawBarOutline() && categoryitemrendererstate.getBarWidth() > 3D) {
        graphics2d.setStroke(getItemOutlineStroke(i, j));
        graphics2d.setPaint(getItemOutlinePaint(i, j));
        graphics2d.draw(generalpath);
        if (double2 != null)
            graphics2d.draw(double2);
    }
    CategoryItemLabelGenerator categoryitemlabelgenerator = getItemLabelGenerator(i, j);
    if (categoryitemlabelgenerator != null && isItemLabelVisible(i, j))
        drawItemLabel(graphics2d, categorydataset, i, j, categoryplot, categoryitemlabelgenerator,
                generalpath.getBounds2D(), d < 0.0D);
    if (categoryitemrendererstate.getInfo() != null) {
        EntityCollection entitycollection = categoryitemrendererstate.getEntityCollection();
        if (entitycollection != null) {
            String s = null;
            CategoryToolTipGenerator categorytooltipgenerator = getToolTipGenerator(i, j);
            if (categorytooltipgenerator != null)
                s = categorytooltipgenerator.generateToolTip(categorydataset, i, j);
            String s1 = null;
            if (getItemURLGenerator(i, j) != null)
                s1 = getItemURLGenerator(i, j).generateURL(categorydataset, i, j);
            CategoryItemEntity categoryitementity = new CategoryItemEntity(generalpath.getBounds2D(), s, s1,
                    categorydataset, categorydataset.getRowKey(i), categorydataset.getColumnKey(j));
            entitycollection.add(categoryitementity);
        }
    }
}

From source file:org.squale.squaleweb.util.graph.RepartitionToolTipGenerator.java

/**
 * @see org.jfree.chart.labels.CategoryToolTipGenerator#generateToolTip(org.jfree.data.category.CategoryDataset,
 *      int, int) {@inheritDoc}//from ww w. j a  v a2s  .co  m
 */
public String generateToolTip(CategoryDataset pCategory, int pRowIndex, int pColumIndex) {
    String result = "";
    if (pRowIndex < AbstractRepartitionMaker.NB_SERIES_FOR_FLOAT_GRAPH - 1) {
        result = "(" + pCategory.getRowKey(pRowIndex) + "," + pCategory.getRowKey(pRowIndex + 1) + ")="
                + pCategory.getValue(pRowIndex, pColumIndex);
    } else {
        result = "(" + pCategory.getRowKey(pRowIndex) + ",3.0" + ")="
                + pCategory.getValue(pRowIndex, pColumIndex);
    }
    return result;
}

From source file:org.pentaho.chart.plugin.api.ChartItemLabelGenerator.java

/**
 * This method is over-ridden to get the actual data value into the item label along with
 * custom formatting defined for the series in the chart definition document.
 * {0} maps to data value/*w  w  w.  j a va 2  s . c o  m*/
 * {1} maps to column name
 *
 * @param dataset category dataset
 * @param row     Row number
 * @param column  Column number
 * @return String Final label string for the given series
 */
public String generateLabel(final CategoryDataset dataset, final int row, final int column) {
    if (dataset == null) {
        return null;
    }
    try {
        final Object data = dataset.getValue(row, column);
        if (data != null) {
            final ChartElement ce = map.get(Integer.valueOf(column));
            if (ce != null) {
                final LayoutStyle layoutStyle = ce.getLayoutStyle();

                //Format the item label text
                final String messageFormat = ((CSSStringValue) layoutStyle
                        .getValue(ChartStyleKeys.ITEM_LABEL_TEXT)).getValue();//$NON-NLS-1$
                String result = MessageFormat.format(messageFormat, data, dataset.getColumnKey(column));

                //Get the font variant to convert the label text to upper case if the
                //font variant is set to small-caps
                final CSSValue variant = layoutStyle.getValue(FontStyleKeys.FONT_VARIANT);
                if (FontVariant.SMALL_CAPS.equals(variant)) {
                    result = result.toUpperCase();
                }
                return result;
            }
        }
    } catch (IndexOutOfBoundsException ignore) {
        //Ignore this exception as we are not directly causing it.
    }

    return null;
}

From source file:org.talend.dataprofiler.chart.preview.DQRuleItemLabelGenerator.java

@Override
protected Object[] createItemArray(CategoryDataset dataset, int row, int column) {

    Object[] result = new Object[4];
    result[0] = dataset.getRowKey(row).toString();
    result[1] = dataset.getColumnKey(column).toString();
    Number value = dataset.getValue(row, column);
    if (value != null && !value.equals(Double.NaN)) {
        if (super.getNumberFormat() != null) {
            result[2] = super.getNumberFormat().format(value);
        } else if (super.getDateFormat() != null) {
            result[2] = super.getDateFormat().format(value);
        }//from w w  w.  j a v a2s  .c  o m

        double total = DataUtilities.calculateColumnTotal(dataset, column);
        double percent = value.doubleValue() / total;
        // MOD qiongli bug 21589,override for just changeing this line.avoid 99.99% to show 100%
        // result[3] = this.percentFormat.format(percent);
        result[3] = stringformat(percent, 0).toString();
    } else {
        result[2] = "-"; //$NON-NLS-1$
        result[3] = "-"; //$NON-NLS-1$
    }

    return result;

}