Example usage for org.jfree.data.general DatasetUtilities createPieDatasetForRow

List of usage examples for org.jfree.data.general DatasetUtilities createPieDatasetForRow

Introduction

In this page you can find the example usage for org.jfree.data.general DatasetUtilities createPieDatasetForRow.

Prototype

public static PieDataset createPieDatasetForRow(CategoryDataset dataset, int row) 

Source Link

Document

Creates a pie dataset from a table dataset by taking all the values for a single row.

Usage

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

public static JFreeChart createDiscChart(ResultSet data, Map parameters) {
    // data.sortBy(1, true);
    CategoryDataset catData = data.catDataSource();
    PieDataset pieData = null;//w  w  w.j  a va2s  .c  o  m
    if (catData.getColumnCount() == 1)
        pieData = DatasetUtilities.createPieDatasetForColumn(catData, 0);
    else
        pieData = DatasetUtilities.createPieDatasetForRow(catData, 0);

    DiscPlot plot = new DiscPlot(pieData);
    plot.setInsets(new RectangleInsets(0.0, 5.0, 5.0, 5.0));
    plot.setDrawingSupplier(DRAWING_SUPPLIER_FACTORY.newDrawingSupplier());
    JFreeChart chart = new JFreeChart(null, JFreeChart.DEFAULT_TITLE_FONT, plot, false);

    if (parameters.get("skipItemLabels") != null || parameters.get("skipDiscLabels") != null)
        plot.setLabelGenerator(null);
    else if (parameters.get("discLabelFontSize") != null)
        try {
            float fontSize = Float.parseFloat((String) parameters.get("discLabelFontSize"));
            plot.setLabelFont(plot.getLabelFont().deriveFont(fontSize));
        } catch (Exception lfe) {
        }
    if (parameters.get("ellipse") != null)
        ((StandardDiscItemDistributor) plot.getDiscDistributor()).setCircular(false);

    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) {
        }

    return chart;
}

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

/** Create a radar chart. */
@Override/*from  w  w w .j  a v  a2  s  . c o m*/
public JFreeChart createChart() {
    maybeScaleDataAxes();
    CategoryDataset catData = data.catDataSource();
    PieDataset pieData = null;
    if (catData.getRowCount() == 1)
        pieData = DatasetUtilities.createPieDatasetForRow(catData, 0);
    else
        pieData = DatasetUtilities.createPieDatasetForColumn(catData, 0);

    RadarPlot plot = new RadarPlot(pieData);
    JFreeChart chart = new JFreeChart(null, JFreeChart.DEFAULT_TITLE_FONT, plot, false);

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

    return chart;
}

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

/** Create a  line chart. */
@Override//from   w  w w . j  a v a2  s  .  c  o m
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.liferay.portlet.polls.action.ViewChartAction.java

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    try {/*  w  w  w  . j a va2  s .c o  m*/
        ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

        long questionId = ParamUtil.getLong(request, "questionId");

        String chartType = ParamUtil.getString(request, "chartType", "pie");

        CategoryDataset dataset = PollsUtil.getVotesDataset(questionId);

        String chartName = themeDisplay.translate("vote-results");
        String xName = themeDisplay.translate("choice");
        String yName = themeDisplay.translate("votes");

        JFreeChart chart = null;

        if (chartType.equals("area")) {
            chart = ChartFactory.createAreaChart(chartName, xName, yName, dataset, PlotOrientation.VERTICAL,
                    true, false, false);
        } else if (chartType.equals("horizontal_bar")) {
            chart = ChartFactory.createBarChart(chartName, xName, yName, dataset, PlotOrientation.HORIZONTAL,
                    true, false, false);
        } else if (chartType.equals("line")) {
            chart = ChartFactory.createLineChart(chartName, xName, yName, dataset, PlotOrientation.VERTICAL,
                    true, false, false);
        } else if (chartType.equals("vertical_bar")) {
            chart = ChartFactory.createBarChart(chartName, xName, yName, dataset, PlotOrientation.VERTICAL,
                    true, false, false);
        } else {
            PieDataset pieData = DatasetUtilities.createPieDatasetForRow(dataset, 0);

            chart = ChartFactory.createPieChart(chartName, pieData, true, false, false);
        }

        response.setContentType(ContentTypes.IMAGE_JPEG);

        OutputStream os = response.getOutputStream();

        ChartUtilities.writeChartAsJPEG(os, chart, 400, 400);

        return null;
    } catch (Exception e) {
        PortalUtil.sendError(e, request, response);

        return null;
    }
}

From source file:com.liferay.samplestrutsliferay.struts.action.ViewChartAction.java

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    try {/*from   w  w  w  . ja  va2s  . c  o  m*/
        if (_log.isInfoEnabled()) {
            _log.info("execute");
        }

        String attrName = "chart_name";

        // Application scoped session attributes can be fetched from the
        // servlet directly. Portlet scoped session attributes can be
        // fetched from Sun's PortletSessionUtil.

        HttpSession session = request.getSession();

        String chartName = (String) session.getAttribute(attrName);
        //(String)_getAttribute(request, attrName);

        // Chart

        String chartType = request.getParameter("chart_type");

        CategoryDataset dataset = _getDataset();

        String xName = "Soda";
        String yName = "Votes";

        JFreeChart chart = null;

        if (chartType.equals("area")) {
            chart = ChartFactory.createAreaChart(chartName, xName, yName, dataset, PlotOrientation.VERTICAL,
                    true, false, false);
        } else if (chartType.equals("horizontal_bar")) {
            chart = ChartFactory.createBarChart(chartName, xName, yName, dataset, PlotOrientation.HORIZONTAL,
                    true, false, false);
        } else if (chartType.equals("line")) {
            chart = ChartFactory.createLineChart(chartName, xName, yName, dataset, PlotOrientation.VERTICAL,
                    true, false, false);
        } else if (chartType.equals("vertical_bar")) {
            chart = ChartFactory.createBarChart(chartName, xName, yName, dataset, PlotOrientation.VERTICAL,
                    true, false, false);
        } else {
            PieDataset pieData = DatasetUtilities.createPieDatasetForRow(dataset, 0);

            chart = ChartFactory.createPieChart(chartName, pieData, true, false, false);
        }

        response.setContentType("image/jpeg");

        OutputStream out = response.getOutputStream();

        ChartUtilities.writeChartAsJPEG(out, chart, 400, 400);

        return mapping.findForward("/common/null.jsp");
    } catch (Exception e) {
        request.setAttribute(PageContext.EXCEPTION, e);

        return mapping.findForward("/common/error.jsp");
    }
}

From source file:com.liferay.samplestruts.struts.action.ViewChartAction.java

@Override
public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    try {/*from   w  w  w .  j av  a  2  s  .  c  om*/
        if (_log.isInfoEnabled()) {
            _log.info("execute");
        }

        String attrName = "chart_name";

        // Application scoped session attributes can be fetched from the
        // servlet directly. Portlet scoped session attributes can be
        // fetched from Sun's PortletSessionUtil.

        HttpSession session = request.getSession();

        String chartName = (String) session.getAttribute(attrName);
        //(String)_getAttribute(request, attrName);

        // Chart

        String chartType = request.getParameter("chart_type");

        CategoryDataset dataset = _getDataset();

        String xName = "Soda";
        String yName = "Votes";

        JFreeChart chart = null;

        if (chartType.equals("area")) {
            chart = ChartFactory.createAreaChart(chartName, xName, yName, dataset, PlotOrientation.VERTICAL,
                    true, false, false);
        } else if (chartType.equals("horizontal_bar")) {
            chart = ChartFactory.createBarChart(chartName, xName, yName, dataset, PlotOrientation.HORIZONTAL,
                    true, false, false);
        } else if (chartType.equals("line")) {
            chart = ChartFactory.createLineChart(chartName, xName, yName, dataset, PlotOrientation.VERTICAL,
                    true, false, false);
        } else if (chartType.equals("vertical_bar")) {
            chart = ChartFactory.createBarChart(chartName, xName, yName, dataset, PlotOrientation.VERTICAL,
                    true, false, false);
        } else {
            PieDataset pieData = DatasetUtilities.createPieDatasetForRow(dataset, 0);

            chart = ChartFactory.createPieChart(chartName, pieData, true, false, false);
        }

        response.setContentType("image/jpeg");

        OutputStream out = response.getOutputStream();

        ChartUtilities.writeChartAsJPEG(out, chart, 400, 400);

        return actionMapping.findForward("/common/null.jsp");
    } catch (Exception e) {
        request.setAttribute(PageContext.EXCEPTION, e);

        return actionMapping.findForward("/common/error.jsp");
    }
}

From source file:com.liferay.polls.web.internal.portlet.action.ViewChartMVCResourceCommand.java

@Override
protected void doServeResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws Exception {

    try {//from w w  w .ja v  a 2 s . c  o  m
        ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY);

        long questionId = ParamUtil.getLong(resourceRequest, "questionId");

        String chartType = ParamUtil.getString(resourceRequest, "chartType", "pie");
        String chartName = themeDisplay.translate("vote-results");
        String xName = themeDisplay.translate("choice");
        String yName = themeDisplay.translate("votes");

        CategoryDataset categoryDataset = PollsUtil.getVotesDataset(questionId);

        JFreeChart jFreeChat = null;

        if (chartType.equals("area")) {
            jFreeChat = ChartFactory.createAreaChart(chartName, xName, yName, categoryDataset,
                    PlotOrientation.VERTICAL, true, false, false);
        } else if (chartType.equals("horizontal_bar")) {
            jFreeChat = ChartFactory.createBarChart(chartName, xName, yName, categoryDataset,
                    PlotOrientation.HORIZONTAL, true, false, false);
        } else if (chartType.equals("line")) {
            jFreeChat = ChartFactory.createLineChart(chartName, xName, yName, categoryDataset,
                    PlotOrientation.VERTICAL, true, false, false);
        } else if (chartType.equals("vertical_bar")) {
            jFreeChat = ChartFactory.createBarChart(chartName, xName, yName, categoryDataset,
                    PlotOrientation.VERTICAL, true, false, false);
        } else {
            PieDataset pieDataset = DatasetUtilities.createPieDatasetForRow(categoryDataset, 0);

            jFreeChat = ChartFactory.createPieChart(chartName, pieDataset, true, false, false);
        }

        resourceResponse.setContentType(ContentTypes.IMAGE_JPEG);

        OutputStream outputStream = resourceResponse.getPortletOutputStream();

        ChartUtilities.writeChartAsJPEG(outputStream, jFreeChat, 400, 400);
    } catch (Exception e) {
        PortletSession portletSession = resourceRequest.getPortletSession();

        PortletContext portletContext = portletSession.getPortletContext();

        PortletRequestDispatcher requestDispatcher = portletContext.getRequestDispatcher("/polls/error.jsp");

        requestDispatcher.forward(resourceRequest, resourceResponse);
    }
}

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

/**
 * Creates and returns a sample pie chart.
 *
 * @return a sample pie chart.// w w  w  .  j av  a2  s  .  c  o  m
 */
public JFreeChart createPieChartOne() {

    // create a default chart based on some sample data...
    final String title = this.resources.getString("pie.pie1.title");
    final CategoryDataset data = DemoDatasetFactory.createCategoryDataset();
    final PieDataset extracted = DatasetUtilities.createPieDatasetForRow(data, 0);
    final JFreeChart chart = ChartFactory.createPieChart(title, extracted, true, true, false);

    // then customise it a little...
    chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.orange));
    final PiePlot plot = (PiePlot) chart.getPlot();
    plot.setCircular(false);
    // make section 1 explode by 100%...
    plot.setExplodePercent(1, 1.00);
    return chart;

}

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

/**
 * Creates and returns a sample pie chart which compares 2 datasets.
 *
 * @return a sample pie chart.//  w ww  . j av a2s .c  o  m
 * @author <a href="mailto:opensource@objectlab.co.uk">Benoit Xhenseval</a>
 * @since 0.9.18
 */
public JFreeChart createPieChartThree() {

    // create a default chart based on some sample data...
    String title = this.resources.getString("pie.pie3.title");

    final double[][] data = new double[][] { { 10.0, 4.0, 14.0, 12.0, 12.0 }, { 9.0, 7.0, 13.7, 15.0, 3.0 } };

    CategoryDataset dataset = DatasetUtilities.createCategoryDataset("Series ", "Category ", data);

    PieDataset extracted = DatasetUtilities.createPieDatasetForRow(dataset, 0);
    PieDataset extracted2 = DatasetUtilities.createPieDatasetForRow(dataset, 1);

    // generate a basic pie chart with title
    // comparing extracted with extracted2
    // a difference of 40% or more will trigger maximum brightness in red or green
    // true green is for increase
    // true for legend
    // true for tooltips
    // false for urls
    // true for subtitle
    // true for showing the difference
    JFreeChart chart = ChartFactory.createPieChart(title, extracted, extracted2, 40, true, true, true, false,
            true, true);

    return chart;

}

From source file:org.bhavaya.ui.view.ChartView.java

private JFreeChart createPieChart() {
    JFreeChart chart;/*from  w w  w  .j  ava2s. c om*/
    if (isPlot3D()) {
        chart = ChartFactory.createPieChart3D(getName(),
                DatasetUtilities.createPieDatasetForRow(tableModelDataSet, 0), true, true, false);
        chart.getPlot().setForegroundAlpha(0.5f);
    } else {
        chart = ChartFactory.createPieChart(getName(),
                DatasetUtilities.createPieDatasetForRow(tableModelDataSet, 0), true, true, false);
    }
    return chart;
}