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.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
//JFreeChart Pie图范例
public class CreateJFreeChartPie {
/**
* 使用JFreeChart 生成Pie
*/
public static void main(String[] args) {
//步骤1:创建PieDataset对象(准备数据)
PieDataset dataset = createDataset();
//步骤2:根据Dataset 生成JFreeChart对象,以及做相应的设置
JFreeChart freeChart = createChart(dataset);
//步骤3:将JFreeChart对象输出到文件,Servlet输出流等
saveAsFile(freeChart, "c:\\jfreechart\\pie.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
}
}
}
}
//从PieDataset生成JFreeChart对象
public static JFreeChart createChart(PieDataset pieDataset) {
JFreeChart jfreechart = ChartFactory.createPieChart("Pie Chart Demo",
pieDataset, // dataset
true, // legend
false, // tooltips
false); // URLs
//以下的设置可以由用户定制,也可以省略
//
PiePlot pieplot = (PiePlot) jfreechart.getPlot();
//背景色 透明度
pieplot.setBackgroundAlpha(0.5f);
//前景色 透明度
pieplot.setForegroundAlpha(0.5f);
//其它设置请参考 PiePlot类
return jfreechart;
}
/**
* 创建PieDataset对象(数据的准备)
*
*/
public static PieDataset createDataset() {
DefaultPieDataset defaultpiedataset = new DefaultPieDataset();
defaultpiedataset.setValue("One", new Double(37.800000000003D));
defaultpiedataset.setValue("Two", new Double(20.002D));
defaultpiedataset.setValue("Three", new Double(17.504D));
defaultpiedataset.setValue("Four", new Double(47D));
return defaultpiedataset;
}
}
- 大小: 9.5 KB
分享到:
相关推荐
在本教程中,我们将深入探讨如何使用 JFreeChart 创建饼状图(Pie Chart),这是一个常用于展示数据部分比例的可视化工具。 **创建 PieDataset 对象(准备数据)** 在 JFreeChart 中,饼状图的数据由 `PieDataset`...
在实际开发中,我们可以通过阅读"jFreeChartDemo"中的代码来学习如何使用JFreeChart。这个项目通常会包含各种图表类型的示例,以及如何设置和调整图表属性的方法。通过实践这些示例,开发者可以快速掌握JFreeChart的...
1. **图表类型多样**:支持饼图(pie)、柱状/条形统计图(bar)、折线图(line)、散点图(scatter plots)、时序图(timeseries)、甘特图(Gantt)、仪表盘图(如刻度盘、温度计、罗盘等)、混合图、符号图(symbol)以及风向图...
**jFreeChart 基本开发手册** jFreeChart 是一个强大的开源图表库,用于Java开发者生成高质量的、丰富的图表。这个库支持多种类型的图表,包括饼图、柱状图、线图以及混合图,广泛应用于数据分析、报表生成、可视化...
总结一下,JFreeChart是Java开发人员的强大工具,用于创建多样化的图表。通过使用`CategoryDataset`、`PieDataset`和`XYDataset`,我们可以方便地构建柱状图、饼状图和折线图,并通过`ChartFactory`的静态方法生成...
### Java报表JFreeChart开发知识点总结 #### 1. 简介 ##### 1.1 什么是JFreeChart JFreeChart是一款免费且开源的Java图表库,它提供了多种类型的图表绘制功能,如饼图、条形图、折线图等。JFreeChart适用于各种Java...
### JFreeChart 开发文档知识点概述 #### 一、引言 JFreeChart是一款功能强大的Java图表绘制类库,能够创建各种类型的图表,包括饼图、条形图、线图等,并支持高度自定义和动态更新特性。此文档旨在提供JFreeChart...
JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。
**JFreeChart学习笔记1 - 简单Pie图创建** 在Java开发中,我们经常需要展示数据,而饼图(Pie Chart)是一种常见的数据可视化工具,尤其适用于展示各项比例关系。JFreeChart是一个强大的开源Java图表库,它提供了...
在实际使用中,开发人员可以通过JFreeChart提供的API创建图表对象,设置数据源,然后将其渲染到图形上下文,如Swing组件或图片文件。例如,要创建一个简单的饼状图,你可以首先创建一个`PieDataset`对象,添加数据,...
**JFreeChart 1.0.6 用户开发指南** JFreeChart是一款强大的Java图形库,专为开发者设计,用于在各种应用程序、applets、servlets、JSP中生成高质量的图表。它遵循GNU General Public License,允许用户自由地使用...
### JFreeChart用户开发指南1.0.6(中文)知识点总结 #### 一、简介 **JFreeChart**是一款完全免费且开源的Java图表绘制类库,它为开发者提供了丰富的图表绘制功能,适用于多种Java应用程序环境,如桌面应用、Web...
**JFreeChart 开发指南** **一、JFreeChart 简介** JFreeChart 是一个用 Java 编写的开源图表库,它提供了一系列丰富的图表类型,如饼图、柱状图、线图、散点图、甘特图等,适用于各种业务分析和数据可视化需求。...
3. **饼状图(Pie Chart)** 饼状图通过扇形面积来表示各部分占总体的比例。JFreeChart提供了丰富的定制选项,如切片颜色、标签、阴影效果等。同时,还可以添加图例,使图解更加直观易懂。 4. **区域图(Area Chart)*...
**JFreeChart 1.0.9 开发文档详解** JFreeChart 是一个广泛使用的 Java 图形库,它为开发者提供了创建各种类型的图表的能力,包括饼图、柱状图、线图、散点图以及更复杂的图表类型。该库特别适用于生成报表、数据...
JFreeChart 支持多种图表类型,如折线图、柱状图、饼图、散点图、甘特图等,适用于商业智能、数据分析和统计报告等多个领域。 **JFreeChart 的主要特性** 1. **多样的图表类型**:JFreeChart 提供了多种图表类型,...
2. 饼状图(Pie Charts):用于比较各部分占整体的比例,便于一眼看出各组成部分的相对大小。 3. 柱状图(Bar Charts):可以展示分类数据的比较,适合展示不同类别之间的数值差异。 使用JFreeChart生成这些图表时...
总的来说,JFreeChart 是一个强大而灵活的图表库,能够帮助 Java 开发人员轻松实现数据可视化,无论是在桌面应用、Web 应用还是移动应用中,都能发挥重要作用。开发者可以根据具体需求,通过其丰富的 API 和示例代码...