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:diet.gridr.g5k.util.ExtendedStackedBarRenderer.java

/**
 * Returns true if the specified item is the last negative value for that
 * category./*from   w  ww  .j av  a 2 s  . c om*/
 *
 * @param dataset  the dataset.
 * @param row  the row (series).
 * @param column  the column (category).
 *
 * @return a boolean.
 */
private boolean isLastNegativeItem(CategoryDataset dataset, int row, int column) {
    boolean result = true;
    Number dataValue = dataset.getValue(row, column);
    if (dataValue == null) {
        return false; // value is null
    }
    for (int r = row + 1; r < dataset.getRowCount(); r++) {
        dataValue = dataset.getValue(r, column);
        if (dataValue != null) {
            result = result && (dataValue.doubleValue() >= 0.0);
        }
    }
    return result;
}

From source file:com.newatlanta.bluedragon.CategoryURLGenerator.java

/**
 * Generates a URL for a particular item within a series.
 * //from   ww w . j a  v  a2  s .  com
 * @param dataset
 *          the dataset.
 * @param series
 *          the series index (zero-based).
 * @param category
 *          the category index (zero-based).
 * 
 * @return The generated URL.
 */
@SuppressWarnings("deprecation")
public String generateURL(CategoryDataset dataset, int series, int category) {
    String seriesKey = dataset.getRowKey(series).toString();
    String categoryKey = dataset.getColumnKey(category).toString();
    Number numberValue = dataset.getValue(series, category);
    String value;
    if (numberValue == null)
        value = "";
    else if (dateFormat != null)
        value = this.dateFormat.format(numberValue);
    else
        value = this.numberFormat.format(numberValue);

    StringBuilder generatedURL = new StringBuilder(urlLower.length());
    for (int i = 0; i < urlLower.length();) {
        char ch = urlLower.charAt(i);
        if (ch == '$') {
            if (urlLower.regionMatches(i, "$serieslabel$", 0, "$serieslabel$".length())) {
                generatedURL.append(URLEncoder.encode(seriesKey));
                i = i + "$serieslabel$".length();
            } else if (urlLower.regionMatches(i, "$itemlabel$", 0, "$itemlabel$".length())) {
                generatedURL.append(URLEncoder.encode(categoryKey));
                i = i + "$itemlabel$".length();
            } else if (urlLower.regionMatches(i, "$value$", 0, "$value$".length())) {
                generatedURL.append(URLEncoder.encode(value));
                i = i + "$value$".length();
            } else {
                // Preserve case by retrieving char from original URL
                generatedURL.append(url.charAt(i));
                i++;
            }
        } else {
            // Preserve case by retrieving char from original URL
            generatedURL.append(url.charAt(i));
            i++;
        }
    }
    return generatedURL.toString();
}

From source file:com.bdaum.zoom.report.internal.jfree.custom.CylinderRenderer.java

/**
 * Draws a cylinder to represent one data item.
 *
 * @param g2  the graphics device./*w  w  w.j  ava2s  .c o m*/
 * @param state  the renderer state.
 * @param dataArea  the area for plotting the data.
 * @param plot  the plot.
 * @param domainAxis  the domain axis.
 * @param rangeAxis  the range axis.
 * @param dataset  the dataset.
 * @param row  the row index (zero-based).
 * @param column  the column index (zero-based).
 * @param pass  the pass index.
 */
public void drawItem(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot,
        CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass) {

    // check the value we are plotting...
    Number dataValue = dataset.getValue(row, column);
    if (dataValue == null) {
        return;
    }

    double value = dataValue.doubleValue();

    Rectangle2D adjusted = new Rectangle2D.Double(dataArea.getX(), dataArea.getY() + getYOffset(),
            dataArea.getWidth() - getXOffset(), dataArea.getHeight() - getYOffset());

    PlotOrientation orientation = plot.getOrientation();

    double barW0 = calculateBarW0(plot, orientation, adjusted, domainAxis, state, row, column);
    double[] barL0L1 = calculateBarL0L1(value);
    if (barL0L1 == null) {
        return; // the bar is not visible
    }

    RectangleEdge edge = plot.getRangeAxisEdge();
    float transL0 = (float) rangeAxis.valueToJava2D(barL0L1[0], adjusted, edge);
    float transL1 = (float) rangeAxis.valueToJava2D(barL0L1[1], adjusted, edge);
    float barL0 = Math.min(transL0, transL1);
    float barLength = Math.abs(transL1 - transL0);

    // draw the bar...
    GeneralPath bar = new GeneralPath();
    Shape top = null;
    if (orientation == PlotOrientation.HORIZONTAL) {
        bar.moveTo((float) (barL0 + getXOffset() / 2), (float) barW0);
        bar.lineTo((float) (barL0 + barLength + getXOffset() / 2), (float) barW0);
        Arc2D arc = new Arc2D.Double(barL0 + barLength, barW0, getXOffset(), state.getBarWidth(), 90, 180,
                Arc2D.OPEN);
        bar.append(arc, true);
        bar.lineTo((float) (barL0 + getXOffset() / 2), (float) (barW0 + state.getBarWidth()));
        arc = new Arc2D.Double(barL0, barW0, getXOffset(), state.getBarWidth(), 270, -180, Arc2D.OPEN);
        bar.append(arc, true);
        bar.closePath();
        top = new Ellipse2D.Double(barL0 + barLength, barW0, getXOffset(), state.getBarWidth());

    } else {
        bar.moveTo((float) barW0, (float) (barL0 - getYOffset() / 2));
        bar.lineTo((float) barW0, (float) (barL0 + barLength - getYOffset() / 2));
        Arc2D arc = new Arc2D.Double(barW0, (barL0 + barLength - getYOffset()), state.getBarWidth(),
                getYOffset(), 180, 180, Arc2D.OPEN);
        bar.append(arc, true);
        bar.lineTo((float) (barW0 + state.getBarWidth()), (float) (barL0 - getYOffset() / 2));
        arc = new Arc2D.Double(barW0, (barL0 - getYOffset()), state.getBarWidth(), getYOffset(), 0, -180,
                Arc2D.OPEN);
        bar.append(arc, true);
        bar.closePath();

        top = new Ellipse2D.Double(barW0, barL0 - getYOffset(), state.getBarWidth(), getYOffset());
    }
    Paint itemPaint = getItemPaint(row, column);
    if (getGradientPaintTransformer() != null && itemPaint instanceof GradientPaint) {
        GradientPaint gp = (GradientPaint) itemPaint;
        itemPaint = getGradientPaintTransformer().transform(gp, bar);
    }
    g2.setPaint(itemPaint);
    g2.fill(bar);

    if (itemPaint instanceof GradientPaint) {
        g2.setPaint(((GradientPaint) itemPaint).getColor2());
    } else {
        g2.setPaint(PaintAlpha.darker(itemPaint)); // bd
    }
    if (top != null) {
        g2.fill(top);
    }

    if (isDrawBarOutline() && state.getBarWidth() > BAR_OUTLINE_WIDTH_THRESHOLD) {
        g2.setStroke(getItemOutlineStroke(row, column));
        g2.setPaint(getItemOutlinePaint(row, column));
        g2.draw(bar);
        if (top != null) {
            g2.draw(top);
        }
    }

    CategoryItemLabelGenerator generator = getItemLabelGenerator(row, column);
    if (generator != null && isItemLabelVisible(row, column)) {
        drawItemLabel(g2, dataset, row, column, plot, generator, bar.getBounds2D(), (value < 0.0));
    }

    // collect entity and tool tip information...
    if (state.getInfo() != null) {
        EntityCollection entities = state.getEntityCollection();
        if (entities != null) {
            String tip = null;
            CategoryToolTipGenerator tipster = getToolTipGenerator(row, column);
            if (tipster != null) {
                tip = tipster.generateToolTip(dataset, row, column);
            }
            String url = null;
            if (getItemURLGenerator(row, column) != null) {
                url = getItemURLGenerator(row, column).generateURL(dataset, row, column);
            }
            CategoryItemEntity entity = new CategoryItemEntity(bar.getBounds2D(), tip, url, dataset,
                    dataset.getRowKey(row), dataset.getColumnKey(column));
            entities.add(entity);
        }
    }

}

From source file:diet.gridr.g5k.util.ExtendedStackedBarRenderer.java

/**
 * Calculates the sum of the positive values within a category.
 *
 * @param dataset  the dataset./*  w w w  .  ja v  a2 s.c om*/
 * @param column  the column (category).
 *
 * @return the sum of the positive values.
 */
private double calculateSumOfPositiveValuesForCategory(CategoryDataset dataset, int column) {
    double result = 0.0;
    for (int r = 0; r < dataset.getRowCount(); r++) {
        Number dataValue = dataset.getValue(r, column);
        if (dataValue != null) {
            double v = dataValue.doubleValue();
            if (v > 0.0) {
                result = result + v;
            }
        }
    }
    return result;
}

From source file:diet.gridr.g5k.util.ExtendedStackedBarRenderer.java

/**
 * Calculates the sum of the negative values within a category.
 *
 * @param dataset  the dataset./*from w w w .ja  v a2 s  .c o m*/
 * @param column  the column (category).
 *
 * @return the sum of the negative values.
 */
private double calculateSumOfNegativeValuesForCategory(CategoryDataset dataset, int column) {
    double result = 0.0;
    for (int r = 0; r < dataset.getRowCount(); r++) {
        Number dataValue = dataset.getValue(r, column);
        if (dataValue != null) {
            double v = dataValue.doubleValue();
            if (v < 0.0) {
                result = result + v;
            }
        }
    }
    return result;
}

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

private int countPriorNonNullValues(CategoryDataset categorydataset, int i, int j) {
    if (j == 0)/*ww  w  .j a  v a  2  s .c o m*/
        return 0;
    int k = 0;
    for (int l = 0; l < j; l++)
        if (categorydataset.getValue(l, i) != null)
            k++;

    return k;
}

From source file:com.googlecode.logVisualizer.chart.QuestTurnsBarChart.java

@Override
protected ChartPanel createChartPanel() {
    final ChartPanel panel = super.createChartPanel();
    final JFreeChart chart = panel.getChart();
    final CategoryDataset dataset = ((CategoryPlot) chart.getPlot()).getDataset();
    final NumberAxis numberAxis = (NumberAxis) ((CategoryPlot) chart.getPlot()).getRangeAxis();

    int maxTurncount = 0;
    for (int i = 0; i < dataset.getColumnCount(); i++)
        if (dataset.getValue(0, i).intValue() > maxTurncount)
            maxTurncount = dataset.getValue(0, i).intValue();

    // Use hard ranges to make comparison between different logs easier, but
    // don't cut off the bars if some are too long.
    numberAxis.setAutoRange(false);//from w w w . j  av a  2  s. c  o m
    numberAxis.setLowerBound(0);
    numberAxis.setUpperBound(maxTurncount <= 125 ? 125 : maxTurncount + 10);

    return panel;
}

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

/**
 * Returns true if the specified item is the last positive value for that category.
 * /*from  w  ww . j  a  v a2  s  .  c om*/
 * @param dataset  the dataset.
 * @param row  the row (series).
 * @param column  the column (category).
 * 
 * @return a boolean.
 */
private boolean isLastPositiveItem(final CategoryDataset dataset, final int row, final int column) {
    boolean result = true;
    Number dataValue = dataset.getValue(row, column);
    if (dataValue == null) {
        return false; // value is null
    }
    for (int r = row + 1; r < dataset.getRowCount(); r++) {
        dataValue = dataset.getValue(r, column);
        if (dataValue != null) {
            result = result && (dataValue.doubleValue() <= 0.0);
        }
    }
    return result;
}

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

/**
 * Returns true if the specified item is the last negative value for that category.
 * /* w  w  w. ja v  a2s  .co m*/
 * @param dataset  the dataset.
 * @param row  the row (series).
 * @param column  the column (category).
 * 
 * @return a boolean.
 */
private boolean isLastNegativeItem(final CategoryDataset dataset, final int row, final int column) {
    boolean result = true;
    Number dataValue = dataset.getValue(row, column);
    if (dataValue == null) {
        return false; // value is null
    }
    for (int r = row + 1; r < dataset.getRowCount(); r++) {
        dataValue = dataset.getValue(r, column);
        if (dataValue != null) {
            result = result && (dataValue.doubleValue() >= 0.0);
        }
    }
    return result;
}

From source file:msi.gama.outputs.layers.charts.ChartJFreeChartOutputRadar.java

@Override
public void getModelCoordinatesInfo(final int xOnScreen, final int yOnScreen, final IDisplaySurface g,
        final Point positionInPixels, final StringBuilder sb) {
    final int x = xOnScreen - positionInPixels.x;
    final int y = yOnScreen - positionInPixels.y;
    final ChartEntity entity = info.getEntityCollection().getEntity(x, y);
    // getChart().handleClick(x, y, info);

    final Comparable<?> columnKey = ((CategoryItemEntity) entity).getColumnKey();
    final String title = columnKey.toString();
    final CategoryDataset data = ((CategoryItemEntity) entity).getDataset();
    final Comparable<?> rowKey = ((CategoryItemEntity) entity).getRowKey();
    final double xx = data.getValue(rowKey, columnKey).doubleValue();
    final boolean xInt = xx % 1 == 0;
    sb.append(title).append(" ").append(xInt ? (int) xx : String.format("%.2f", xx));

}