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”显然是一个初学者导向的教程资源,旨在帮助用户快速掌握如何在Java项目中集成和使用JFreeChart。 在“JFreeChart入门小例子 - 因为专注,所以专业 - BlogJava.htm”中,可能...
jfreechart入门资料及源包(附简单实例)
**JFreeChart详解与实战应用** JFreeChart是一款在Java平台上广泛使用的开源图表库,它提供了丰富的图表类型,包括饼图、柱状图、线条图等,非常...结合提供的实例和教程,你将能自如地运用JFreeChart进行数据可视化。
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的二维图表,如柱状图、饼状图、折线图等,并且支持2D和3D效果。在Struts 2框架中集成JFreeChart,可以方便地在Web应用中展示数据可视化结果,提升用户...
JFreeChart可以满足大部分图片创建的需求,实例中主要介绍饼图的做法。
**JFreeChart 实例详解** JFreeChart 是一个强大的开源Java库,用于生成高质量的图表。这个库广泛应用于各种项目,包括数据可视化、报表生成、应用程序界面和网页设计。在本篇文章中,我们将深入探讨JFreeChart的...
"JFreechart教程与实例" JFreechart是一款功能强大的图形报表组件,主要用于生成各种动态图表。在Java项目的应用中,JFreechart组件几乎可以满足目前图形报表的所有需求。JFreechart组件可以生成各种各样的图形报表...
**JfreeChart 入门详解** JFreeChart 是一个用于 Java 的开源图表库,它提供了丰富的图表类型,如柱状图、饼图、线图、散点图等,广泛应用于数据可视化、报告生成以及Web应用中。这个入门教程将帮助初学者理解如何...
柱状图的dataset 一般是用CatagoryDataset接口(具体实现类是DefaultCategoryDataset),也会用 IntervalXYDataset 接口
在这个"JFreeChart画折线实例"中,我们将深入探讨如何利用JFreeChart库来创建折线图,并将其保存为本地文件。下面将详细讲解相关知识点。 首先,JFreeChart库的引入是通过在项目中添加其对应的依赖或jar包。如果你...
JFreeChart实例入门,有代码,main方法。直接看效果
使用JFreeChart,必须调用在web-inf目录下导入jfreechart.jar,和jcommon.jar包 使用jfreechart-1.0.13.jar查看图表时中文乱码,降低jfreechart版本ok 显示图表时都可以在获取JfreeChart对象方法中使用3D方式 ...
在"jfreeChart使用实例"这个资源中,你将找到一系列入门级的代码示例,这些示例涵盖了JfreeChart的基本用法,特别适合初学者进行学习和实践。对于已经熟练掌握JfreeChart的开发者来说,这些示例可能过于基础,但对于...
《Hibernate + RCP + MySQL + JFreeChart 开发实例详解》 在当今的软件开发领域,集成多种技术来创建高效、功能丰富的应用已经成为常态。本实例将深入探讨如何结合Hibernate对象关系映射框架、RCP(Rich Client ...
本实例提供的代码展示了如何在MyEclipse下使用JFreeChart创建图表。以下是一些关键知识点: 1. **JFreeChart的安装与引入**:首先需要下载JFreeChart的JAR文件,并将其添加到MyEclipse项目的类路径中。这可以通过...
这个实例是关于如何使用JFreeChart来绘制饼图、柱状图和折线图,并且这些图表能够在Web环境中展示。在这个过程中,我们看到程序是基于流行的持久层框架Ibatis来实现数据的获取和处理。 首先,JFreeChart的核心在于...
本实例将带你深入理解JFreeChart的基本用法,帮助你快速掌握如何在Java项目中应用JFreeChart。 一、JFreeChart简介 JFreeChart库提供了丰富的API,可以方便地生成静态和动态图表。它被广泛应用于数据分析、报表生成...
本教程将深入探讨JFreeChart的入门知识,并结合实例解析其在不同场景下的应用。 ### 1. JFreeChart 概述 JFreeChart 是一个开源项目,它的设计目标是为Java应用程序提供易于使用的图表组件。它支持多种图表类型,...