Example usage for org.jfree.chart ChartFactory createBarChart3D

List of usage examples for org.jfree.chart ChartFactory createBarChart3D

Introduction

In this page you can find the example usage for org.jfree.chart ChartFactory createBarChart3D.

Prototype

public static JFreeChart createBarChart3D(String title, String categoryAxisLabel, String valueAxisLabel,
        CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) 

Source Link

Document

Creates a bar chart with a 3D effect.

Usage

From source file:j2se.jfreechart.barchart.BarChart3DDemo2.java

/**
 * Creates a chart./*ww  w  .ja va 2s  .  c  o  m*/
 * 
 * @param dataset  the dataset.
 * 
 * @return The chart.
 */
private JFreeChart createChart(final CategoryDataset dataset) {

    final JFreeChart chart = ChartFactory.createBarChart3D("3D Bar Chart Demo 2", // chart title
            "Category", // domain axis label
            "Value", // range axis label
            dataset, // data
            PlotOrientation.HORIZONTAL, // orientation
            true, // include legend
            true, // tooltips
            false // urls
    );

    final CategoryPlot plot = chart.getCategoryPlot();
    plot.setForegroundAlpha(1.0f);

    // left align the category labels...
    final CategoryAxis axis = plot.getDomainAxis();
    final CategoryLabelPositions p = axis.getCategoryLabelPositions();

    final CategoryLabelPosition left = new CategoryLabelPosition(RectangleAnchor.LEFT,
            TextBlockAnchor.CENTER_LEFT, TextAnchor.CENTER_LEFT, 0.0, CategoryLabelWidthType.RANGE, 0.30f);
    axis.setCategoryLabelPositions(CategoryLabelPositions.replaceLeftPosition(p, left));

    return chart;

}

From source file:Visao.Relatorio.Relatorio_QuantidadeReclamacoesUF.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    dataset = controleRelatorio.numeroReclamacoesEstadoGrafico();
    chart = ChartFactory.createBarChart3D("Quantidade de Reclamaes por Estado", "Estado", "Quantidade",
            dataset, PlotOrientation.HORIZONTAL, true, true, true);
    chart.setBackgroundPaint(Color.WHITE);

    Grafico_QuantidadeReclamacoesUF dialog = null;
    dialog = new Grafico_QuantidadeReclamacoesUF(parent, true, dao, chart);
    dialog.setLocationRelativeTo(null);//from   www . j  av a 2 s  . co m
    dialog.setVisible(true);
    jButton2.setEnabled(true);
}

From source file:fuel.gui.stats.StationStatsPanel.java

private void refreshGraphs() {
    graphContainer.removeAll();//from w ww.  j  a v a 2 s  . co  m
    DefaultPieDataset usageDataset = new DefaultPieDataset();
    try {
        for (Station station : database.getStations()) {
            ResultSet thisStation = database
                    .Query("SELECT SUM(liter) FROM fuelrecords WHERE stationId = " + station.getId(), true);
            thisStation.next();
            usageDataset.setValue(station.toString(), thisStation.getInt("1"));
        }

    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, ex.getMessage() + ex.getCause());
    }
    JFreeChart usagePieChart = ChartFactory.createPieChart3D("", usageDataset, true, true, false);
    PiePlot3D plot3 = (PiePlot3D) usagePieChart.getPlot();
    plot3.setForegroundAlpha(0.6f);
    //plot3.setCircular(true);

    JPanel usagePieChartPanel = new ChartPanel(usagePieChart);
    usagePieChartPanel.setBorder(
            BorderFactory.createTitledBorder(BorderFactory.createTitledBorder("Tankstation verhouding")));
    usagePieChartPanel.setPreferredSize(new java.awt.Dimension(320, 240));

    DefaultPieDataset fuelDataset = new DefaultPieDataset();
    try {
        ResultSet numberResults = database.Query("SELECT DISTINCT typeOfGas FROM fuelrecords", true);
        while (numberResults.next()) {
            ResultSet thisStation = database.Query("SELECT SUM(liter) FROM fuelrecords WHERE typeOfGas = '"
                    + numberResults.getString("typeOfGas") + "'", true);
            thisStation.next();
            fuelDataset.setValue(numberResults.getString("typeOfGas"), thisStation.getInt("1"));
        }

    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, ex.getMessage() + ex.getCause());
    }
    JFreeChart fuelPieChart = ChartFactory.createPieChart3D("", fuelDataset, true, true, false);
    PiePlot3D plot2 = (PiePlot3D) fuelPieChart.getPlot();
    plot2.setForegroundAlpha(0.6f);
    //plot3.setCircular(true);

    JPanel fuelPieChartPanel = new ChartPanel(fuelPieChart);
    fuelPieChartPanel.setBorder(
            BorderFactory.createTitledBorder(BorderFactory.createTitledBorder("Brandstof verhouding")));
    fuelPieChartPanel.setPreferredSize(new java.awt.Dimension(320, 240));

    DefaultCategoryDataset barDataset = new DefaultCategoryDataset();
    try {
        ResultSet motorThing = database.Query("SELECT cost/liter,date FROM fuelrecords ORDER BY date ASC",
                true);
        while (motorThing.next()) {
            barDataset.addValue(motorThing.getDouble("1"), motorThing.getString("date"), "Prijs per liter");
        }

    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, ex.getMessage() + ex.getCause());
    }

    JFreeChart barChart = ChartFactory.createBarChart3D("", // chart title
            "", // domain axis label
            "Aantal", // range axis label
            barDataset, // data
            PlotOrientation.VERTICAL, false, // include legend
            true, // tooltips?
            false // URLs?
    );
    CategoryPlot plot = barChart.getCategoryPlot();
    BarRenderer3D renderer = (BarRenderer3D) plot.getRenderer();
    renderer.setDrawBarOutline(false);

    ChartPanel barChartPanel = new ChartPanel(barChart);
    barChartPanel.getChartRenderingInfo().setEntityCollection(null);
    barChartPanel.setBorder(BorderFactory.createTitledBorder("Prijs per liter"));
    barChartPanel.setPreferredSize(new java.awt.Dimension(320, 240));

    JPanel piePanel = new JPanel(new GridLayout(0, 2));
    piePanel.add(usagePieChartPanel);
    piePanel.add(fuelPieChartPanel);
    graphContainer.add(piePanel);
    graphContainer.add(barChartPanel);
    revalidate();
    repaint();
}

From source file:org.inbio.ait.web.controller.StatisticalController.java

/**
 * Gets the chart parameters, build the chart based on those parameters.
 * Then, the chart is passed as atribute trhow the session to another
 * view and finally the chart is shown to the user.
 * @throws java.lang.Exception/*ww  w .  ja  v a 2 s .  c om*/
 */
@Override
protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command,
        BindException errors) throws Exception {

    //Getting query parameters
    ChartParameters parameters = (ChartParameters) command;

    //Arrays that contains the parameters data
    String[] xArray, yArray, xToShow, yToShow;
    //Validate if the user don't specify the x and y criteria
    if (parameters.getXdata().equals("") || parameters.getYdata().equals("")) {
        xArray = new String[0];
        yArray = new String[0];
        xToShow = new String[0];
        yToShow = new String[0];
    } else {
        xArray = parameters.getXdata().split("\\|");
        yArray = parameters.getYdata().split("\\|");
        xToShow = parameters.getXdatatoshow().split("\\|");
        yToShow = parameters.getYdatatoshow().split("\\|");
    }

    //Create the data set (value,row,colum) = (value,y,x)
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    //Getting x and y axis int values
    int x = 0, y = 0;
    try {
        x = Integer.parseInt(parameters.getXaxis());
        y = Integer.parseInt(parameters.getYaxis());
    } catch (Exception e) {
    }

    //Getting chart data from data base
    for (int i = 0; i < xArray.length; i++) {
        for (int j = 0; j < yArray.length; j++) {
            Long result = getQueryManager().countByCriteria(xArray[i], yArray[j], x, y);
            dataset.addValue(result, yToShow[j], xToShow[i]); //(value,y,x)
        }
    }

    //Create the chart
    JFreeChart chart;
    if (parameters.getType().equals(ChartType.BAR_CHART.getType())) {
        chart = ChartFactory.createBarChart3D(parameters.getTitle(), //title
                parameters.getXtitle(), // x axis label
                parameters.getYtitle(), // y axis label
                dataset, //dataset
                PlotOrientation.VERTICAL, true, // include legend
                true, // tooltips
                false); // urls
    } else {
        chart = ChartFactory.createLineChart3D(parameters.getTitle(), //title
                parameters.getXtitle(), // x axis label
                parameters.getYtitle(), // y axis label
                dataset, //dataset
                PlotOrientation.VERTICAL, true, // include legend
                true, // tooltips
                false); // urls
    }

    //Customize the chart
    chart.setBackgroundPaint(Color.WHITE);

    //Store te chart in the session.
    request.getSession(true).setAttribute("chart", chart);

    //Show the resultant chart
    boolean chartDisplay = true;
    ModelAndView mv = new ModelAndView(getSuccessView());
    //Chart
    mv.addObject("chartDisplay", chartDisplay);
    //ChartParameters atributes
    mv.addObject("xdata", parameters.getXdata());
    mv.addObject("ydata", parameters.getYdata());
    mv.addObject("xaxis", parameters.getXaxis());
    mv.addObject("yaxis", parameters.getYaxis());
    mv.addObject("xdatatoshow", parameters.getXdatatoshow());
    mv.addObject("ydatatoshow", parameters.getYdatatoshow());
    mv.addObject("isgeo", parameters.getIsgeo());
    mv.addObject("ldata", parameters.getLdata());
    mv.addObject("ldatatoshow", parameters.getLdatatoshow());
    return mv;
}

From source file:erpsystem.chart.Charts.java

/** Grfico criado para mostrar o histrico de
 * faturamento periodicamente considerando o valor bruto
 * em R$ de lucro./*from www.j  ava 2  s. c o  m*/
*/

public static BufferedImage create002(int w, int h, Calendar initialCalendar, int interval) {
    //Inicio
    DefaultCategoryDataset ds = new DefaultCategoryDataset();
    String LUCRO = "Lucro R$";

    //Configurando os Calendars.
    Calendar finalCalendar = getCurrentCalendar();
    Calendar finalValue = copyCalendar(initialCalendar);
    Calendar initialValue = copyCalendar(initialCalendar);

    while (finalCalendar.after(finalValue)) {

        //ajustando os Calendars ponteiros.
        initialValue = copyCalendar(finalValue);
        finalValue.add(Calendar.DAY_OF_MONTH, interval);

        //toString para depurao.
        String s1 = toString(initialValue);
        String s2 = toString(finalValue);

        //Obtendo as datas como raw para 
        //possibilitar comparao com o banco de dados.
        long value1 = initialValue.getTimeInMillis();
        long value2 = finalValue.getTimeInMillis();

        //Obtendo a nova abstrao de lucro com os intervalos especificados.
        double lucro = Chart001.getValorLucroEm(value1, value2);
        double venda = Chart001.getValorVendaEm(value1, value2);
        double compra = Chart001.getValorCompraEm(value1, value2);

        //Adicionando a nova abstrao na coleo de dados do grfico.
        int y = initialValue.get(Calendar.YEAR);
        int m = initialValue.get(Calendar.MONTH) + 1;
        int d = initialValue.get(Calendar.DAY_OF_MONTH);
        String identifier = d + "/" + m + "/" + y;
        ds.addValue(lucro, "Lucro", identifier);
        ds.addValue(venda, "Venda", identifier);
        ds.addValue(compra, "Compra", identifier);

    }

    //Criando o grfico abstrato em 3D.
    JFreeChart chart = ChartFactory.createBarChart3D("Faturamento", "Faturamento", "Valor R$", ds,
            PlotOrientation.VERTICAL, true, true, false);

    //Criando e retornando a imagem como 
    //mapa de pixels do grfico.
    return chart.createBufferedImage(w, h);
}

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

@Override
public void createChart(final IScope scope) {
    super.createChart(scope);
    jfreedataset.add(0, new DefaultCategoryDataset());
    PlotOrientation orientation = PlotOrientation.VERTICAL;
    if (reverse_axes) {
        orientation = PlotOrientation.HORIZONTAL;
    }/* w  w  w  . j  av a2  s. co  m*/
    if (style.equals(IKeyword.THREE_D)) {
        chart = ChartFactory.createBarChart3D(getName(), null, null, null, orientation, true, true, false);
    } else if (style.equals(IKeyword.STACK)) {
        chart = ChartFactory.createStackedBarChart(getName(), null, null, null, orientation, true, true, false);
    } else {
        chart = ChartFactory.createBarChart(getName(), null, null, null, orientation, true, true, false);

    }

}

From source file:reports.util.BarChartScriptlet.java

/**
 *
 *//*from w  w  w . ja  va  2  s .c o  m*/
public void afterReportInit() throws JRScriptletException {

    JFreeChart jfreechart = ChartFactory.createBarChart3D("Bar Chart Demo", // chart title
            "States", // X Label              
            "Sell Amount", // Y Label 
            dataset, // data
            PlotOrientation.VERTICAL, // orientation
            true, // include legend
            true, // tooltips? 
            false // URLs? 
    );

    CategoryPlot categoryplot = jfreechart.getCategoryPlot();
    CategoryAxis categoryaxis = categoryplot.getDomainAxis();
    categoryaxis.setCategoryLabelPositions(
            CategoryLabelPositions.createUpRotationLabelPositions(0.39269908169872414D));

    LegendTitle legendtitle = (LegendTitle) jfreechart.getSubtitle(0);
    legendtitle.setPosition(RectangleEdge.RIGHT);
    legendtitle.setMargin(new RectangleInsets(UnitType.ABSOLUTE, 0.0D, 4D, 0.0D, 4D));

    IntervalMarker intervalmarker = new IntervalMarker(4000D, 5000D);
    intervalmarker.setLabel("Target Range");
    intervalmarker.setLabelFont(new Font("SansSerif", 2, 11));
    intervalmarker.setLabelAnchor(RectangleAnchor.LEFT);
    intervalmarker.setLabelTextAnchor(TextAnchor.CENTER_LEFT);
    intervalmarker.setPaint(new Color(222, 222, 255, 128));
    categoryplot.addRangeMarker(intervalmarker, Layer.BACKGROUND);

    CategoryItemRenderer categoryitemrenderer = categoryplot.getRenderer();
    categoryitemrenderer.setItemLabelsVisible(true);
    BarRenderer barrenderer = (BarRenderer) categoryitemrenderer;
    barrenderer.setMaxBarWidth(0.050000000000000003D);

    barrenderer.setItemLabelGenerator(new LabelGenerator());
    barrenderer.setItemLabelsVisible(true);

    ItemLabelPosition itemlabelposition1 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,
            TextAnchor.CENTER_LEFT, TextAnchor.CENTER_LEFT, -1.5707963267948966D);
    barrenderer.setPositiveItemLabelPositionFallback(itemlabelposition1);

    categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);

    /*
    jfreechart.setBackgroundPaint(Color.white); 
    CategoryPlot categoryplot = jfreechart.getCategoryPlot();
    categoryplot.setBackgroundPaint(Color.lightGray); 
    categoryplot.setDomainGridlinePaint(Color.white);
    categoryplot.setDomainGridlinesVisible(true);
    categoryplot.setRangeGridlinePaint(Color.white);
    NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();
    numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    BarRenderer barrenderer = (BarRenderer)categoryplot.getRenderer();
    barrenderer.setDrawBarOutline(false);
    GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, Color.blue, 0.0F, 0.0F, new Color(0, 0, 64));
    GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F, Color.green, 0.0F, 0.0F, new Color(0, 64, 0));
    GradientPaint gradientpaint2 = new GradientPaint(0.0F, 0.0F, Color.red, 0.0F, 0.0F, new Color(64, 0, 0));
    barrenderer.setSeriesPaint(0, gradientpaint);
    barrenderer.setSeriesPaint(1, gradientpaint1);
    barrenderer.setSeriesPaint(2, gradientpaint2);
    CategoryAxis categoryaxis = categoryplot.getDomainAxis();
    categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(0.52359877559829882D));
       */
    this.setVariableValue("Chart", new JCommonDrawableRenderer(jfreechart));
}

From source file:Visao.grafico.GraficoRelatorioEstoque.java

public void criaGrafico() {
    CategoryDataset cds = createDataset();
    String titulo = "Grfico de " + ControlePrincipal.tipo_grafico;
    String eixoy = "Valores";
    String txt_legenda = "Ledenda:";
    boolean legenda = true;
    boolean tooltips = true;
    boolean urls = true;
    JFreeChart graf = ChartFactory.createBarChart3D(titulo, txt_legenda, eixoy, cds, PlotOrientation.VERTICAL,
            legenda, tooltips, urls);// w w  w . j av a2s. com
    ChartPanel myChartPanel = new ChartPanel(graf, true);
    myChartPanel.setSize(jPaneGraficoRE.getWidth(), jPaneGraficoRE.getHeight());
    myChartPanel.setVisible(true);
    jPaneGraficoRE.removeAll();
    jPaneGraficoRE.add(myChartPanel);
    jPaneGraficoRE.revalidate();
    jPaneGraficoRE.repaint();
}

From source file:com.sun.portal.os.portlets.ChartServlet.java

private JFreeChart createChart(HttpServletRequest request) {
    JFreeChart chart = null;//from  ww  w.  j  a  v a  2s  .com
    try {
        HttpSession session = request.getSession(true);
        PortletPreferences prefs = (PortletPreferences) session.getAttribute("PORTLET_PREFERENCES");

        if (prefs == null)
            throw new NoPreferredDbSetException("Preferences not passed in from portlet");

        String type = prefs.getValue(Constants.PREF_CHART_TYPE, PIE_CHART);

        debugMessage("Chart type :" + type);

        if (type.equals(PIE_CHART)) {
            String sql = prefs.getValue(Constants.PREF_PIE_CHART_SQL, DEFAULT_PIE_CHART_SQL);
            PieDataset data = (PieDataset) generatePieDataSet(getDatabaseConnection(request), sql);
            chart = ChartFactory.createPieChart("Pie Chart", data, true, true, false);
        } else if (type.equals(BAR_CHART)) {
            String sql = prefs.getValue(Constants.PREF_BAR_CHART_SQL, DEFAULT_BAR_CHART_SQL);
            JDBCCategoryDataset data = (JDBCCategoryDataset) generateBarChartDataSet(
                    getDatabaseConnection(request), sql);
            chart = ChartFactory.createBarChart3D("Bar Chart", "Category", "Value", data,
                    PlotOrientation.VERTICAL, true, true, false);
        } else if (type.equals(TIME_CHART)) {
            String sql = prefs.getValue(Constants.PREF_TIME_SERIES_SQL, DEFAULT_TIME_SERIES_SQL);
            JDBCXYDataset data = (JDBCXYDataset) generateXYDataSet(getDatabaseConnection(request), sql);
            chart = ChartFactory.createTimeSeriesChart("Time Series Chart", "Date", "Rate", data, true, true,
                    false);
        }

    } catch (NoPreferredDbSetException npdbs) {
        npdbs.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return chart;
}

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

/**
 * @return le diagramme JFreeChart//from w w  w .  ja  v  a 2  s .co  m
 */
public JFreeChart getChart() {
    JFreeChart retChart = super.getChart();
    if (null == retChart) {
        retChart = ChartFactory.createBarChart3D(mTitle, mXLabel, mYLabel, mDataSet, PlotOrientation.VERTICAL,
                false, true, true);
        CategoryPlot plot = retChart.getCategoryPlot();
        CategoryAxis xAxis = plot.getDomainAxis();
        xAxis.setAxisLineVisible(true);
        xAxis.setVisible(true);
        ValueAxis yAxis = plot.getRangeAxis();
        yAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
        // On rajoute 5% pour avoir une meilleure lisibilit
        final double YAxisCoeff = 1.05;
        yAxis.setRange(PracticeResultBO.REFUSED_MIN, Math.max(mMaxValue * YAxisCoeff, 1));

        // Positionne les couleurs et les liens
        mRenderer = (CategoryItemRenderer) plot.getRenderer();
        RepartitionUrlGenerator generator = new RepartitionUrlGenerator(mProjectId, mCurrentAuditId,
                mPreviousAuditId, mPracticeId, mFactorParentId, NB_SERIES_FOR_FLOAT_GRAPH);
        mRenderer.setItemURLGenerator(generator);
        BarRenderer barRenderer = (BarRenderer) mRenderer;
        barRenderer.setBaseSeriesVisible(true);
        RepartitionToolTipGenerator toolTipGenerator = new RepartitionToolTipGenerator();
        barRenderer.setToolTipGenerator(toolTipGenerator);
        manageColor(NB_SERIES_FOR_FLOAT_GRAPH);
        retChart.setBackgroundPaint(Color.WHITE);
        super.setChart(retChart);
    }
    return retChart;
}