`
zjx2388
  • 浏览: 1336166 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

jFreeChart利用CategoryDatase,ChartFactory.createBarChart生成的柱状图

    博客分类:
  • J2EE
阅读更多
package com.potevio.rnd;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.general.DatasetUtilities;

public class CreateJFreeChartBar {   
  
    /**  
     * 创建JFreeChart Bar Chart(柱状图)  
     */  
    public static void main(String[] args) {   
        //步骤1:创建CategoryDataset对象(准备数据)   
        CategoryDataset dataset = createDataset();   
        //步骤2:根据Dataset 生成JFreeChart对象,以及做相应的设置   
        JFreeChart freeChart = createChart(dataset);   
        //步骤3:将JFreeChart对象输出到文件,Servlet输出流等   
        saveAsFile(freeChart, "F:\\jfreechart\\bar.png", 500, 400);   
    }   
       
    //保存为文件   
    public static void saveAsFile(JFreeChart chart, String outputPath, int weight, int height) {   
        FileOutputStream out = null;   
        try {   
            File outFile = new File(outputPath);   
            if (!outFile.getParentFile().exists()) {   
                outFile.getParentFile().mkdirs();   
            }   
            out = new FileOutputStream(outputPath);   
            //保存为PNG文件   
            ChartUtilities.writeChartAsPNG(out, chart, weight, height);   
            //保存为JPEG文件   
            //ChartUtilities.writeChartAsJPEG(out, chart, weight, height);   
            out.flush();   
        } catch (FileNotFoundException e) {   
            e.printStackTrace();   
        } catch (IOException e) {   
            e.printStackTrace();   
        } finally {   
            if (out != null) {   
                try {   
                    out.close();   
                } catch (IOException e) {   
                    //do nothing   
                }   
            }   
        }   
    }   
  
    //根据CategoryDataset生成JFreeChart对象   
    public static JFreeChart createChart(CategoryDataset categoryDataset) {   
        JFreeChart jfreechart = ChartFactory.createBarChart("Bar Chart Demo",    //标题   
                "产品",    //categoryAxisLabel (category轴,横轴,X轴的标签)   
                "数量",    //valueAxisLabel(value轴,纵轴,Y轴的标签)   
                categoryDataset, // dataset   
                PlotOrientation.VERTICAL,   
                true, // legend   
                false, // tooltips   
                false); // URLs   
           
        //以下的设置可以由用户定制,也可以省略   
        CategoryPlot  plot = (CategoryPlot) jfreechart.getPlot();   
        //背景色 透明度   
        plot.setBackgroundAlpha(0.5f);   
        //前景色 透明度   
        plot.setForegroundAlpha(0.5f);   
        //其它设置可以参考 CategoryPlot   
           
        return jfreechart;   
    }   
  
    /**  
     * 创建CategoryDataset对象  
     *   
     */  
    public static CategoryDataset createDataset() {   
           
        String []rowKeys = {"One", "Two", "Three"};   
        String []colKeys = {"1987", "1997", "2007"};   
           
        double [][] data = {   
                {50, 20, 30},   
                {20, 10D, 40D},   
                {40, 30.0008D, 38.24D},   
        };   
           
        //也可以使用以下代码   
        //DefaultCategoryDataset categoryDataset = new DefaultCategoryDataset();   
        //categoryDataset.addValue(10, "rowKey", "colKey");   
           
        return DatasetUtilities.createCategoryDataset(rowKeys, colKeys, data);           
    }   
  
}

运行效果图:

 

 

  • 大小: 8.5 KB
分享到:
评论

相关推荐

    jfreechart 生成折线图,饼图,柱状图,堆栈柱状图

    JFreeChart是一个流行的Java库,用于生成各种类型的图表,包括折线图、饼图和柱状图,甚至堆栈柱状图。这个压缩包中的"CreateChartServiceImpl.java"文件很可能包含了一个实现这些功能的服务类。 首先,我们要理解...

    java生成柱状图、拆线图

    总结来说,Java生成柱状图和折线图主要依赖于JFreeChart库,通过创建数据集、构建图表对象以及在GUI中展示,可以轻松实现数据的可视化。JCommon库则为JFreeChart提供了基础支持。开发者可以通过学习这些库的API,...

    JFreeChart生成3D饼状图及柱状图

    JFreeChart barChart = ChartFactory.createBarChart3D("3D柱状图", "X轴", "Y轴", barDataset); // 保存柱状图到指定目录 ChartUtilities.saveChartAsJPEG(new File("/path/to/output/barchart.jpg"), barChart, ...

    JFreechar使用文档

    JFreeChart chart = ChartFactory.createBarChart("单组柱状图标题", "类别", "值", dataset); // 创建柱状图 ``` ### 三、生成多组柱状图 如果需要对比多个组的数据,可以使用堆积柱状图。JFreeChart 提供了 `...

    JFreeChart绘制饼图,折线图,柱状图demo

    JFreeChart是一款强大的Java图表库,它允许开发者在Java应用程序或网页中生成各种高质量的图形,包括饼图、折线图、柱状图等。在本示例中,我们将深入探讨如何利用JFreeChart库来创建这些常见的图表类型。 ### 饼图...

    jfreeChart生成的线状图,饼状图,柱状图

    JFreeChart是一款强大的Java图表库,它允许开发者在应用程序、Swing组件或Web应用中创建出各种复杂的图表,包括线状图、饼状图和柱状图。这些图表类型广泛应用于数据分析、报告制作以及可视化展示等领域。下面我们将...

    利用JFreeChart 实现柱状图,饼图,时序图,折线图等

    然后,使用`JFreeChart.createBarChart()`方法生成柱状图。 2. **饼图(Pie Chart)** 饼图用于显示整体中各个部分的比例。JFreeChart提供了`PieDataset`接口,用来存储数据,然后通过`JFreeChart.createPieChart...

    JFreeChart中文乱码问题解决

    JFreeChart是一款开源的Java图表库,它能够生成各种类型的图表,如折线图、柱状图、饼图等。但在实际应用中,尤其是当图表标题、轴标签或图例包含中文字符时,很容易出现乱码问题。这主要是因为JFreeChart默认使用的...

    JFreeChart编写柱状图和饼状图及3D饼状图方法

    JFreeChart是一款强大的Java库,用于创建各种图表,包括柱状图、饼状图和3D饼状图等。在Java编程中,JFreeChart是一个非常实用的工具,它允许开发者轻松地在应用程序中集成数据可视化功能。下面将详细介绍如何使用...

    JFreeChar制作饼图和柱状图

    使用`ChartFactory.createBarChart()`方法创建柱状图。 ```java JFreeChart chart = ChartFactory.createBarChart( "柱状图示例", // 图表标题 "分类", // X轴标签 "值", // Y轴标签 dataset, // 数据集 ...

    jfreechart 曲线图 3d饼图 3d柱状图

    创建3D柱状图,可以使用`ChartFactory.createBarChart3D()`方法。同样,你需要一个`CategoryDataset`,其中包含行标识(类别)和列标识(系列)。`CategoryPlot`的`Renderer`应设置为`BarRenderer3D`,以实现3D效果...

    jfreechart应用_经典例题_生成饼状图、生成单组柱状图、生成多组柱状图、生成堆积柱状图

    本篇文章将详细讲解如何利用 JFreeChart 创建不同的图表类型,包括饼状图、单组柱状图、多组柱状图以及堆积柱状图。 首先,你需要从官方网站或指定的源获取 JFreeChart 的最新版本,例如 jfreechart-1.0.13.jar,...

    jfreechart生成单组3D变色柱状图

    根据给定的信息,本文将详细解释如何使用JFreeChart库生成单组3D变色柱状图,并确保每个柱子的颜色不同。此方法对于需要在报告、数据分析或可视化项目中展示数据时非常有用。 ### 一、理解标题与描述 #### 1.1 ...

    java制作jfreechart柱状图 饼状图 折线图

    在JFreeChart中,你可以使用`CategoryDataset`来存储数据,然后创建`JFreeChart`实例,最后使用`ChartFactory.createBarChart()`方法生成柱状图。你可以自定义每个类别的标签,设置柱子的颜色,甚至添加工具提示和...

    java利用JFreeChart实现各类数据统计图柱形图饼图折线图.pdf

    true, // 是否显示图例 ( 对于简单的柱状图必须是false) false, // 是否生成工具 false // 是否生成 URL 链接 ); //从这里开始 CategoryPlot plot=chart.getCategoryPlot();//获取图表区域对象 CategoryAxis ...

    利用jFreeChart做曲线图、饼状图、柱状图

    其中:createBarChart3D方法是ChartFactory工厂类里的一个方法,用于生成3D柱状图,该类继承自JFreeChart。 3. 设置图形显示的属性: a) ValueAxis类,设置柱到图上下边的距离。实现方法是:ValueAxis rangeAxis = ...

    Jfreechart操作总结

    2. **创建 ChartFactory**:JFreeChart 提供了多种预设的 ChartFactory,例如 `JFreeChart chart = ChartFactory.createBarChart()` 可以快速创建一个柱状图。 ### 二、主要图表类型 1. **饼图**:`ChartFactory....

    jfreechart-0.9.17.jar and jcommon.jar

    JFreeChart chart = ChartFactory.createBarChart( "柱状图示例", // 图表标题 "类别", // 分类轴标签 "值", // 值轴标签 dataset // 数据集 ); CategoryPlot plot = chart.getCategoryPlot(); plot....

    jfreechart曲线图饼图柱状图 免费图标 图表

    JFreeChart提供了`CategoryDataset`来存储数据,通过`createBarChart()`方法创建柱状图。可以调整柱子的宽度、颜色以及X轴和Y轴的标签。 ```java CategoryDataset dataset = ... // 创建数据集 JFreeChart chart = ...

Global site tag (gtag.js) - Google Analytics