`

收藏整理—JFreeChart 入门实例

阅读更多

 1)使用JFreeChart开发Bar Chart(柱状图)

JFreeChart开发一个柱状图非常简单,大致分以下三步:
步骤1:创建CategoryDataset对象(准备数据)
步骤2:根据Dataset 生成JFreeChart对象,以及做相应的设置
步骤3:将JFreeChart对象输出到文件,Servlet输出流等


CreateJFreeChartBar.java:

 

package com.moonights.demo.jfreechart;

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;   
  
//JFreeChart Bar Chart(柱状图)   
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, "c:\\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, 300, 200);   
            //保存为JPEG文件   
            //ChartUtilities.writeChartAsJPEG(out, chart, 500, 400);   
            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);           
    }   
  
}  

 

执行后,可以发现生成了C:\jfreechart\bar.png文件

分享到:
评论

相关推荐

    JFreeChart入门小例子.rar

    这个压缩包“JFreeChart入门小例子.rar”显然是一个初学者导向的教程资源,旨在帮助用户快速掌握如何在Java项目中集成和使用JFreeChart。 在“JFreeChart入门小例子 - 因为专注,所以专业 - BlogJava.htm”中,可能...

    jFreeChart实例(带数据库和文档)

    在本实例中,"jFreeChart实例(带数据库和文档)" 提供了一个实际的项目案例,展示了如何将jFreeChart与数据库结合使用,并且包含相关的文档以帮助理解。这对于我们学习和掌握jFreeChart的使用方法非常有价值。 ...

    jfreechart入门资料及源包(附简单实例)

    jfreechart入门资料及源包(附简单实例)

    JFreeChart精髓实例,入门,教程收藏

    **JFreeChart详解与实战应用** JFreeChart是一款在Java平台上广泛使用的开源图表库,它提供了丰富的图表类型,包括饼图、柱状图、线条图等,非常...结合提供的实例和教程,你将能自如地运用JFreeChart进行数据可视化。

    JFreeChart实例

    JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的二维图表,如柱状图、饼状图、折线图等,并且支持2D和3D效果。在Struts 2框架中集成JFreeChart,可以方便地在Web应用中展示数据可视化结果,提升用户...

    JFreeChart基础入门及实例

    JFreeChart可以满足大部分图片创建的需求,实例中主要介绍饼图的做法。

    jfreechart 实例

    **JFreeChart 实例详解** JFreeChart 是一个强大的开源Java库,用于生成高质量的图表。这个库广泛应用于各种项目,包括数据可视化、报表生成、应用程序界面和网页设计。在本篇文章中,我们将深入探讨JFreeChart的...

    JfreeChart入门带注释

    **JfreeChart 入门详解** JFreeChart 是一个用于 Java 的开源图表库,它提供了丰富的图表类型,如柱状图、饼图、线图、散点图等,广泛应用于数据可视化、报告生成以及Web应用中。这个入门教程将帮助初学者理解如何...

    jfreechart入门实例

    柱状图的dataset 一般是用CatagoryDataset接口(具体实现类是DefaultCategoryDataset),也会用 IntervalXYDataset 接口

    JFreeChart画折线实例

    在这个"JFreeChart画折线实例"中,我们将深入探讨如何利用JFreeChart库来创建折线图,并将其保存为本地文件。下面将详细讲解相关知识点。 首先,JFreeChart库的引入是通过在项目中添加其对应的依赖或jar包。如果你...

    JFreeChart实例入门

    JFreeChart实例入门,有代码,main方法。直接看效果

    struts2与JFreeChart整合实例

    使用JFreeChart,必须调用在web-inf目录下导入jfreechart.jar,和jcommon.jar包 使用jfreechart-1.0.13.jar查看图表时中文乱码,降低jfreechart版本ok 显示图表时都可以在获取JfreeChart对象方法中使用3D方式 ...

    jfreeChart使用实例

    在"jfreeChart使用实例"这个资源中,你将找到一系列入门级的代码示例,这些示例涵盖了JfreeChart的基本用法,特别适合初学者进行学习和实践。对于已经熟练掌握JfreeChart的开发者来说,这些示例可能过于基础,但对于...

    Hibernate +  RCP + MySQL+ Jfreechart 开发实例 

    《Hibernate + RCP + MySQL + JFreeChart 开发实例详解》 在当今的软件开发领域,集成多种技术来创建高效、功能丰富的应用已经成为常态。本实例将深入探讨如何结合Hibernate对象关系映射框架、RCP(Rich Client ...

    JFreeChart的实例(在Myeclipce下可直接运行)

    本实例提供的代码展示了如何在MyEclipse下使用JFreeChart创建图表。以下是一些关键知识点: 1. **JFreeChart的安装与引入**:首先需要下载JFreeChart的JAR文件,并将其添加到MyEclipse项目的类路径中。这可以通过...

    JFreeChart画图实例

    这个实例是关于如何使用JFreeChart来绘制饼图、柱状图和折线图,并且这些图表能够在Web环境中展示。在这个过程中,我们看到程序是基于流行的持久层框架Ibatis来实现数据的获取和处理。 首先,JFreeChart的核心在于...

    jfreechart简单实例

    本实例将带你深入理解JFreeChart的基本用法,帮助你快速掌握如何在Java项目中应用JFreeChart。 一、JFreeChart简介 JFreeChart库提供了丰富的API,可以方便地生成静态和动态图表。它被广泛应用于数据分析、报表生成...

Global site tag (gtag.js) - Google Analytics