List of usage examples for org.jfree.data.category CategoryDataset getValue
public Number getValue(Comparable rowKey, Comparable columnKey);
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)); }