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

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

Introduction

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

Prototype

public int getColumnCount();

Source Link

Document

Returns the number of columns in the table.

Usage

From source file:gov.nih.nci.caintegrator.application.geneexpression.GeneExpressionPlotServiceImpl.java

private int retrievePlotWidth(CategoryDataset dataset) {
    int width = dataset.getColumnCount() * dataset.getRowCount() * WIDTH_MULTIPLIER;
    return width > MINIMUM_WIDTH ? width : MINIMUM_WIDTH;
}

From source file:net.sourceforge.processdash.ui.web.reports.PieChart.java

/** Create a  line chart. */
@Override/*from  ww  w .ja v  a  2s . c om*/
public JFreeChart createChart() {
    CategoryDataset catData = data.catDataSource();
    PieDataset pieData = null;
    if (catData.getColumnCount() == 1)
        pieData = DatasetUtilities.createPieDatasetForColumn(catData, 0);
    else
        pieData = DatasetUtilities.createPieDatasetForRow(catData, 0);

    JFreeChart chart = null;
    if (get3DSetting()) {
        chart = ChartFactory.createPieChart3D(null, pieData, true, true, false);
        chart.getPlot().setForegroundAlpha(ALPHA);
    } else {
        chart = ChartFactory.createPieChart(null, pieData, true, true, false);
    }

    PiePlot plot = (PiePlot) chart.getPlot();
    if (parameters.get("skipItemLabels") != null || parameters.get("skipWedgeLabels") != null)
        plot.setLabelGenerator(null);
    else if (parameters.get("wedgeLabelFontSize") != null)
        try {
            float fontSize = Float.parseFloat((String) parameters.get("wedgeLabelFontSize"));
            plot.setLabelFont(plot.getLabelFont().deriveFont(fontSize));
        } catch (Exception lfe) {
        }
    if (parameters.get("ellipse") != null)
        plot.setCircular(true);
    else
        plot.setCircular(false);

    Object colorScheme = parameters.get("colorScheme");
    if ("byPhase".equals(colorScheme))
        maybeConfigurePhaseColors(plot, pieData);
    else if ("consistent".equals(colorScheme))
        // since 2.0.9
        configureConsistentColors(plot, pieData);
    else if (parameters.containsKey("c1"))
        configureIndividualColors(plot, pieData);

    String interiorGap = (String) parameters.get("interiorGap");
    if (interiorGap != null)
        try {
            plot.setInteriorGap(Integer.parseInt(interiorGap) / 100.0);
        } catch (NumberFormatException e) {
        }
    String interiorSpacing = (String) parameters.get("interiorSpacing");
    if (interiorSpacing != null)
        try {
            plot.setInteriorGap(Integer.parseInt(interiorSpacing) / 200.0);
        } catch (NumberFormatException e) {
        }

    if (!parameters.containsKey("showZeroValues")) {
        plot.setIgnoreZeroValues(true);
        plot.setIgnoreNullValues(true);
    }

    return chart;
}

From source file:com.pureinfo.srm.reports.impl.CategoryChartBuilder.java

/**
 * @param _format//from www .  j  a  v a  2  s  . c o m
 * @param _dataset
 */
private void fillChartInfo(CategoryDataset _dataset, DecimalFormat _format) {
    int n = _dataset.getColumnCount();
    m_ChartInfo = new ChartInfo();
    m_ChartInfo.setChartTitle(m_sTitle);
    String[] labels = new String[n];
    for (int i = 0; i < n; i++) {
        labels[i] = "" + _dataset.getColumnKey(i);
        labels[i] += " = ";
        labels[i] += _format.format(_dataset.getValue(0, i));
    }
    m_ChartInfo.setLabels(labels);
    Point size = new Point(n > 20 ? ChartInfo.SIZE_WIDE : ChartInfo.SIZE_NORROW);
    if (n > 20)
        size.x += 40 * (n - 20);
    m_ChartInfo.setChartSize(size);
    m_ChartInfo.setLengedPosition(n > 20 ? ChartInfo.LENGEND_POSITION_BUTTOM : ChartInfo.LENGEND_POSITION_LEFT);
}

From source file:net.sourceforge.subsonic.controller.UserChartController.java

public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
    String type = request.getParameter("type");
    CategoryDataset dataset = createDataset(type);
    JFreeChart chart = createChart(dataset, request);

    int imageHeight = Math.max(IMAGE_MIN_HEIGHT, 15 * dataset.getColumnCount());

    ChartUtilities.writeChartAsPNG(response.getOutputStream(), chart, IMAGE_WIDTH, imageHeight);
    return null;/*from   w ww. j  a  v  a2  s  . com*/
}

From source file:net.sourceforge.subsonic.controller.FolderChartController.java

public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
    String type = request.getParameter("type");
    CategoryDataset dataset = createDataset(type);
    JFreeChart chart = createChart(dataset, request);

    int imageHeight = IMAGE_MIN_HEIGHT * dataset.getColumnCount();
    if (imageHeight < 100) {
        imageHeight = 100;/*from w  w  w  .  j  ava  2  s . c  om*/
    }

    ChartUtilities.writeChartAsPNG(response.getOutputStream(), chart, IMAGE_WIDTH, imageHeight);
    return null;
}

From source file:edu.cuny.jfree.chart.annotations.CategoryIntervalAnnotation.java

public void draw(final Graphics2D g2, final CategoryPlot plot, final Rectangle2D dataArea,
        final CategoryAxis domainAxis, final ValueAxis rangeAxis) {

    final AlphaComposite alphaComposite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER,
            plot.getForegroundAlpha());// w  w  w . j  a  v  a2 s .  c om
    final Composite oldComposite = g2.getComposite();
    g2.setComposite(alphaComposite);

    final CategoryDataset dataset = plot.getDataset();
    final int catIndex = dataset.getColumnIndex(category);
    final int catCount = dataset.getColumnCount();
    double lineX1 = 0.0D;
    double lineY = 0.0D;
    double lineX2 = 0.0D;
    final PlotOrientation orientation = plot.getOrientation();
    final RectangleEdge domainEdge = Plot.resolveDomainAxisLocation(plot.getDomainAxisLocation(), orientation);
    final RectangleEdge rangeEdge = Plot.resolveRangeAxisLocation(plot.getRangeAxisLocation(), orientation);
    if (orientation == PlotOrientation.HORIZONTAL) {
        lineY = domainAxis.getCategoryJava2DCoordinate(CategoryAnchor.MIDDLE, catIndex, catCount, dataArea,
                domainEdge);
        lineX1 = rangeAxis.valueToJava2D(value1, dataArea, rangeEdge);
        lineX2 = rangeAxis.valueToJava2D(value2, dataArea, rangeEdge);
    } else if (orientation == PlotOrientation.VERTICAL) {
        lineY = rangeAxis.valueToJava2D(value1, dataArea, rangeEdge);
        lineX1 = domainAxis.getCategoryJava2DCoordinate(CategoryAnchor.MIDDLE, catIndex, catCount, dataArea,
                domainEdge);
        lineX2 = domainAxis.getCategoryJava2DCoordinate(CategoryAnchor.MIDDLE, catIndex, catCount, dataArea,
                domainEdge);
    }
    g2.setPaint(paint);
    g2.setStroke(stroke);
    g2.drawLine((int) lineX1, (int) lineY, (int) lineX2, (int) lineY);

    g2.setComposite(oldComposite);
}

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  a  v  a  2 s .co m
    numberAxis.setLowerBound(0);
    numberAxis.setUpperBound(maxTurncount <= 125 ? 125 : maxTurncount + 10);

    return panel;
}

From source file:de.fhbingen.wbs.wpOverview.tabs.AvailabilityGraphAction.java

/**
 * Add the action listener to the graph.
 *///from  www.  ja va  2 s . co  m
private void setAction() {
    gui.pnlGraph.addChartMouseListener(new ChartMouseListener() {

        @Override
        public void chartMouseClicked(final ChartMouseEvent e) {
            if (e.getEntity() instanceof PlotEntity) {
                Point2D p = gui.pnlGraph.translateScreenToJava2D(e.getTrigger().getPoint());
                CategoryPlot plot = (CategoryPlot) gui.pnlGraph.getChart().getPlot();
                Rectangle2D plotArea = gui.pnlGraph.getScreenDataArea();

                DateAxis rangeAxis = (DateAxis) plot.getRangeAxis();
                RectangleEdge rangeAxisEdge = plot.getRangeAxisEdge();

                CategoryAxis catAxis = plot.getDomainAxis();
                RectangleEdge domainAxisEdge = plot.getDomainAxisEdge();

                double chartY = rangeAxis.java2DToValue(p.getX(), plotArea, rangeAxisEdge);

                CategoryDataset categories = (CategoryDataset) plot.getDataset(0);

                int categoryCount = categories.getColumnCount();

                for (int i = 0; i < categoryCount; i++) {
                    double catStart = catAxis.getCategoryStart(i, categoryCount, plotArea, domainAxisEdge);
                    double catEnd = catAxis.getCategoryEnd(i, categoryCount, plotArea, domainAxisEdge);

                    if (e.getTrigger().getY() >= catStart && e.getTrigger().getY() < catEnd) {
                        new EditAvailabilityController(gui.function, gui.function.getWorkers().get(i),
                                new Day(new Date((long) chartY)), parent);
                    }

                }
            } else {

                CategoryItemEntity item = (CategoryItemEntity) e.getEntity();
                CategoryPlot plot = (CategoryPlot) gui.pnlGraph.getChart().getPlot();
                Rectangle2D plotArea = gui.pnlGraph.getScreenDataArea();
                RectangleEdge rangeAxisEdge = plot.getRangeAxisEdge();

                DateAxis dateAxis = (DateAxis) plot.getRangeAxis();

                double d = dateAxis.java2DToValue(e.getEntity().getArea().getBounds2D().getX(), plotArea,
                        rangeAxisEdge);
                double d2 = dateAxis.java2DToValue(e.getEntity().getArea().getBounds2D().getX()
                        + e.getEntity().getArea().getBounds2D().getWidth(), plotArea, rangeAxisEdge);

                Date startDate = new Date((long) d);
                Date endDate = new Date((long) d2);

                CategoryDataset categories = (CategoryDataset) plot.getDataset(0);
                int workerIndex = categories.getColumnIndex(item.getColumnKey());
                Worker worker = gui.function.getWorkers().get(workerIndex);

                Set<Availability> found = CalendarService.getAllWorkerAvailability(worker.getId(), startDate,
                        endDate);
                Availability foundAv = found.toArray(new Availability[1])[0];

                if (foundAv != null) {
                    new EditAvailabilityController(gui.function, foundAv, parent);
                } else {
                    found = CalendarService.getProjectAvailability(startDate, endDate);
                    foundAv = found.toArray(new Availability[1])[0];
                    if (foundAv != null) {
                        new EditAvailabilityController(gui.function, foundAv, parent);
                    } else {
                        JOptionPane.showMessageDialog(
                                new JFrame(LocalizedStrings.getGeneralStrings().warning()),
                                LocalizedStrings.getErrorMessages().availabilityCanNotBeChanged());
                    }
                }
            }

        }

        @Override
        public void chartMouseMoved(final ChartMouseEvent arg0) {

        }

    });
    /**
     * ActionListener
     */
    gui.btnNext.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(final ActionEvent e) {
            gui.function.increment();
        }

    });
    /**
     * ActionListener
     */
    gui.btnPrev.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(final ActionEvent e) {
            gui.function.decrement();
        }

    });

    for (int i = 0; i < gui.buttons.length; i++) {
        addButtonListener(i);
    }
    /**
     * ActionListener
     */
    gui.btnManualAv.addItemListener(new ItemListener() {

        @Override
        public void itemStateChanged(final ItemEvent e) {
            if (e.getStateChange() == ItemEvent.SELECTED) {
                gui.function.setManualAv(true);
            } else {
                gui.function.setManualAv(false);
            }
        }

    });

}

From source file:org.openfaces.component.chart.impl.plots.GridCategoryPlotAdapter.java

private void renderColumns(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea,
        CategoryItemRenderer renderer, CategoryDataset currentDataSet, int index, int row) {
    boolean isAscendingColumnOrder = getColumnRenderingOrder() == SortOrder.ASCENDING;
    CategoryAxis categoryAxis = getDomainAxisForDataset(index);
    ValueAxis valueAxis = getRangeAxisForDataset(index);
    int totalRendererPasses = renderer.getPassCount();
    int totalColumns = currentDataSet.getColumnCount();

    for (int currentPassIndex = 0; currentPassIndex < totalRendererPasses; currentPassIndex++) {
        if (isAscendingColumnOrder) {
            for (int columnIndex = 0; columnIndex < totalColumns; columnIndex++) {
                final boolean isLastColumn = columnIndex == totalColumns - 1;
                renderColumn(g2, state, dataArea, renderer, currentDataSet, categoryAxis, valueAxis, row,
                        currentPassIndex, columnIndex, isLastColumn);
            }// w  ww . java  2  s.  co m
        } else {
            for (int columnIndex = totalColumns - 1; columnIndex >= 0; columnIndex--) {
                final boolean isLastColumn = columnIndex == 0;
                renderColumn(g2, state, dataArea, renderer, currentDataSet, categoryAxis, valueAxis, row,
                        currentPassIndex, columnIndex, isLastColumn);
            }
        }
    }
}

From source file:org.objectweb.proactive.extensions.timitspmd.util.charts.renderer.HierarchicalBarRenderer.java

/**
 * Calculates the bar width and stores it in the renderer state.
 *
 * @param plot/*from  w  w w.j  a v a 2s .co m*/
 *            the plot.
 * @param dataArea
 *            the data area.
 * @param rendererIndex
 *            the renderer index.
 * @param state
 *            the renderer state.
 */
@Override
protected void calculateBarWidth(CategoryPlot plot, Rectangle2D dataArea, int rendererIndex,
        CategoryItemRendererState state) {
    // calculate the bar width - this calculation differs from the
    // BarRenderer calculation because the bars are layered on top of one
    // another, so there is effectively only one bar per category for
    // the purpose of the bar width calculation
    CategoryAxis domainAxis = this.getDomainAxis(plot, rendererIndex);
    CategoryDataset dataset = plot.getDataset(rendererIndex);
    if (dataset != null) {
        int columns = dataset.getColumnCount();
        int rows = dataset.getRowCount();
        double space = dataArea.getWidth();
        double maxWidth = space * this.getMaximumBarWidth();
        double categoryMargin = 0.0;
        if (columns > 1) {
            categoryMargin = domainAxis.getCategoryMargin();
        }
        double used = space * (1 - domainAxis.getLowerMargin() - domainAxis.getUpperMargin() - categoryMargin);
        if ((rows * columns) > 0) {
            state.setBarWidth(Math.min(used / (dataset.getColumnCount()), maxWidth));
        } else {
            state.setBarWidth(Math.min(used, maxWidth));
        }
    }
}