http://binfenghu.blog.163.com/blog/static/202820029201272124149479/
1.在D盘建一个temp文件夹,作为图标生成的位置
2.将以下代码复制到程序中运行
企业级项目开发流程详解:http://zz563143188.iteye.com/blog/1825168
收集五年的开发资料下载地址: http://pan.baidu.com/share/home?uk=4076915866&view=share
import java.awt.Font;
import java.awt.RenderingHints;
import java.io.File;
import java.io.IOException;
import org.jfree.chart.ChartColor;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardChartTheme;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.plot.Plot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.util.Rotation;
public class CreateChart {
public static void main(String[] args) {
CreateChart cc = new CreateChart();
cc.setChartTheme();
cc.createPieChart();
cc.createPieChart3D();
cc.createColumnChart();
cc.createColumnChart3D();
cc.createLineChart();
cc.createLineChart3D();
}
/**
* 防止中文乱码,设置图表主题的默认实现
*
* @return
*/
@SuppressWarnings ("serial" )
public void setChartTheme() {
StandardChartTheme theme = new StandardChartTheme("CN" ) {
// 重写apply(...)方法借机消除文字锯齿.VALUE_TEXT_ANTIALIAS_OFF
public void apply(JFreeChart chart) {
chart.getRenderingHints().put(
RenderingHints. KEY_TEXT_ANTIALIASING ,
RenderingHints. VALUE_TEXT_ANTIALIAS_OFF );
super .apply(chart);
}
};
// 标题乱码解决
theme.setExtraLargeFont( new Font("宋体" , Font. PLAIN, 20));
// 图例乱码解决
theme.setRegularFont( new Font("宋体" , Font. PLAIN, 12));
theme.setLargeFont( new Font("宋体" , Font. PLAIN, 14));
theme.setSmallFont( new Font("宋体" , Font. PLAIN, 10));
theme.setBaselinePaint(java.awt.Color. white );
// 应用主题样式
ChartFactory. setChartTheme(theme);
}
/**
* 饼状图
*/
public void createPieChart() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue( "苹果" , 250);
dataset.setValue( "桔子" , 350);
dataset.setValue( "梨子" , 200);
dataset.setValue( "香蕉" , 50);
dataset.setValue( "荔枝" , 150);
JFreeChart chart = ChartFactory. createPieChart( "水果产量比率图" , dataset,
true , true , true);
Plot cp = chart.getPlot();
cp.setBackgroundPaint(ChartColor. WHITE ); // 背景色设置
// ChartFrame frame = new ChartFrame("水果产量比率图 ", chart, true);
// frame.pack();
// frame.setVisible(true);
try {
ChartUtilities. saveChartAsPNG( new File("D:/temp/PieChart.png" ),
chart, 800, 500);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 3D饼状图
*/
public void createPieChart3D() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue( "苹果" , 250);
dataset.setValue( "桔子" , 350);
dataset.setValue( "梨子" , 200);
dataset.setValue( "香蕉" , 50);
dataset.setValue( "荔枝" , 150);
JFreeChart chart = ChartFactory. createPieChart3D( "水果产量比率图" , dataset,
true , true , true);
PiePlot3D plot = (PiePlot3D) chart.getPlot();
// 设置开始角度
plot.setStartAngle(150D);
// 设置方向为"顺时针方向"
plot.setDirection(Rotation. CLOCKWISE );
// 设置透明度,0.5F为半透明,1为不透明,0为全透明
plot.setForegroundAlpha(0.5F);
// 没有数据的时候显示的内容
plot.setNoDataMessage( "无数据显示" );
// 背景色设置
plot.setBackgroundPaint(ChartColor. WHITE );
// ChartFrame frame = new ChartFrame("水果产量比率图 ", chart, true);
// frame.pack();
// frame.setVisible(true);
try {
ChartUtilities. saveChartAsPNG( new File("D:/temp/PieChart3D.png" ),
chart, 800, 500);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 柱状图
*/
public void createColumnChart() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "北京" , "苹果" );
dataset.addValue(100, "上海" , "苹果" );
dataset.addValue(100, "广州" , "苹果" );
dataset.addValue(200, "北京" , "梨子" );
dataset.addValue(200, "上海" , "梨子" );
dataset.addValue(200, "广州" , "梨子" );
dataset.addValue(300, "北京" , "葡萄" );
dataset.addValue(300, "上海" , "葡萄" );
dataset.addValue(300, "广州" , "葡萄" );
dataset.addValue(400, "北京" , "香蕉" );
dataset.addValue(400, "上海" , "香蕉" );
dataset.addValue(400, "广州" , "香蕉" );
dataset.addValue(500, "北京" , "荔枝" );
dataset.addValue(500, "上海" , "荔枝" );
dataset.addValue(500, "广州" , "荔枝" );
JFreeChart chart = ChartFactory. createBarChart( "水果产量图", "水量" , "产量" ,
dataset, PlotOrientation. VERTICAL , true , true, true );
CategoryPlot cp = chart.getCategoryPlot();
cp.setBackgroundPaint(ChartColor. WHITE ); // 背景色设置
cp.setRangeGridlinePaint(ChartColor. GRAY ); // 网格线色设置
// ChartFrame frame=new ChartFrame ("水果产量图 ",chart,true);
// frame.pack();
// frame.setVisible(true);
try {
ChartUtilities. saveChartAsPNG( new File("D:/temp/ColumnChart.png" ),
chart, 800, 500);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 3D柱状图
*/
public void createColumnChart3D() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "北京" , "苹果" );
dataset.addValue(100, "上海" , "苹果" );
dataset.addValue(100, "广州" , "苹果" );
dataset.addValue(200, "北京" , "梨子" );
dataset.addValue(200, "上海" , "梨子" );
dataset.addValue(200, "广州" , "梨子" );
dataset.addValue(300, "北京" , "葡萄" );
dataset.addValue(300, "上海" , "葡萄" );
dataset.addValue(300, "广州" , "葡萄" );
dataset.addValue(400, "北京" , "香蕉" );
dataset.addValue(400, "上海" , "香蕉" );
dataset.addValue(400, "广州" , "香蕉" );
dataset.addValue(500, "北京" , "荔枝" );
dataset.addValue(500, "上海" , "荔枝" );
dataset.addValue(500, "广州" , "荔枝" );
JFreeChart chart = ChartFactory. createBarChart3D( "水果产量图", "水果" , "产量" ,
dataset, PlotOrientation. VERTICAL , true , true, true );
CategoryPlot cp = chart.getCategoryPlot();
cp.setBackgroundPaint(ChartColor. WHITE ); // 背景色设置
cp.setRangeGridlinePaint(ChartColor. GRAY ); // 网格线色设置
// ChartFrame frame=new ChartFrame ("水果产量图 ",chart,true);
// frame.pack();
// frame.setVisible(true);
try {
ChartUtilities. saveChartAsPNG(
new File("D:/temp/ColumnChart3D.png" ), chart, 800, 500);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 线状图
*/
public void createLineChart() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "北京" , "苹果" );
dataset.addValue(200, "上海" , "苹果" );
dataset.addValue(300, "广州" , "苹果" );
dataset.addValue(400, "北京" , "梨子" );
dataset.addValue(500, "上海" , "梨子" );
dataset.addValue(600, "广州" , "梨子" );
dataset.addValue(700, "北京" , "葡萄" );
dataset.addValue(800, "上海" , "葡萄" );
dataset.addValue(900, "广州" , "葡萄" );
dataset.addValue(800, "北京" , "香蕉" );
dataset.addValue(700, "上海" , "香蕉" );
dataset.addValue(600, "广州" , "香蕉" );
dataset.addValue(500, "北京" , "荔枝" );
dataset.addValue(400, "上海" , "荔枝" );
dataset.addValue(300, "广州" , "荔枝" );
JFreeChart chart = ChartFactory. createLineChart( "水果产量图 ", "水果", "产量" ,
dataset, PlotOrientation. VERTICAL , true , true, true );
CategoryPlot cp = chart.getCategoryPlot();
cp.setBackgroundPaint(ChartColor. WHITE ); // 背景色设置
cp.setRangeGridlinePaint(ChartColor. GRAY ); // 网格线色设置
// ChartFrame frame=new ChartFrame ("水果产量图 ",chart,true);
// frame.pack();
// frame.setVisible(true);
try {
ChartUtilities. saveChartAsPNG( new File("D:/temp/LineChart.png" ),
chart, 800, 500);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 3D线状图
*/
public void createLineChart3D() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(300, "北京" , "苹果" );
dataset.addValue(100, "上海" , "苹果" );
dataset.addValue(900, "广州" , "苹果" );
dataset.addValue(200, "北京" , "梨子" );
dataset.addValue(200, "上海" , "梨子" );
dataset.addValue(700, "广州" , "梨子" );
dataset.addValue(300, "北京" , "葡萄" );
dataset.addValue(300, "上海" , "葡萄" );
dataset.addValue(300, "广州" , "葡萄" );
dataset.addValue(400, "北京" , "香蕉" );
dataset.addValue(800, "上海" , "香蕉" );
dataset.addValue(400, "广州" , "香蕉" );
dataset.addValue(100, "北京" , "荔枝" );
dataset.addValue(500, "上海" , "荔枝" );
dataset.addValue(500, "广州" , "荔枝" );
JFreeChart chart = ChartFactory. createLineChart3D( "水果产量图 " , "水果" , "产量" ,
dataset, PlotOrientation. VERTICAL , true , true, true );
CategoryPlot cp = chart.getCategoryPlot();
cp.setBackgroundPaint(ChartColor. WHITE ); // 背景色设置
cp.setRangeGridlinePaint(ChartColor. GRAY ); // 网格线色设置
// ChartFrame frame=new ChartFrame ("水果产量图 ",chart,true);
// frame.pack();
// frame.setVisible(true);
try {
ChartUtilities. saveChartAsPNG( new File("D:/temp/LineChart3D.png" ),
chart, 800, 500);
} catch (IOException e) {
e.printStackTrace();
}
}
}
3.代码生成的图表示例
相关推荐
在这个“strut1+jfreechart简单小例子”中,我们将探讨如何将这两个工具结合,以展示在Struts1框架中集成JFreeChart来创建图表的方法。 首先,我们需要在项目中引入JFreeChart的依赖。这通常通过在项目的类路径下...
本教程将详细介绍JFreeChart的使用方法,包括安装、配置以及实际的例子。 ### 1. 安装JFreeChart 在开始使用JFreeChart之前,你需要下载JFreeChart的JAR文件。这通常可以从JFreeChart的官方网站或者其他可靠的开源...
这个例子展示了 JFreeChart 的基本使用流程,对于初学者来说是个很好的起点。 通过深入学习和实践这个例子,你可以掌握 JFreeChart 的基本操作,并进一步了解如何根据实际需求定制图表。JFreeChart 的强大功能在于...
**jFreeChart简介** jFreeChart是一个开源的Java库,用于生成高质量的图表,支持多种图表类型,如柱状图、饼图、线形图、散点图、仪表盘、时钟表等。这个库广泛应用于Java应用程序、Web应用、报表系统以及数据可视...
这个"jfreechart图形报表例子"是一个很好的资源,可以帮助开发者快速理解和使用JFreeChart库。 首先,JFreeChart库的核心是ChartFactory类,它提供了一系列静态方法,用于根据给定的数据和参数创建不同类型的图表。...
2. **Web 示例**:可能包括在 JavaServer Pages (JSP) 或 Servlets 中使用 JFreeChart 的例子。这些示例可能涉及到如何将图表导出为图像文件,然后在网页上显示,或者通过 AJAX 实现动态更新。 3. **数据源和序列化...
这个 JSP 示例展示了如何利用 JFreeChart 创建一个简单的柱状图,并在 Web 页面上显示。实际应用中,数据集通常会从数据库或计算得到,图表样式和交互功能也可以通过调整各种配置进行定制。 **四、扩展应用** 除了...
下面,我们通过一个简单的例子来展示如何使用JFreeChart API创建一个柱状图: ```java import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; ...
"JFreeChart DemoCode 例子"这个资源包含了JFreeChart的一些示例代码,对于学习和理解如何使用JFreeChart来构建图表非常有帮助。开发者可以通过这些示例快速掌握其基本用法和高级特性。例如: 1. `jchardemos.rar`...
在"JFreeChart JSP应用例子"中,我们将深入探讨如何在JSP页面上利用JFreeChart库创建并展示柱状图。 首先,我们需要理解JSP(JavaServer Pages)是一种动态网页技术,允许开发者在HTML中嵌入Java代码,从而生成动态...
**JFreeChart 应用详解 例子** JFreeChart 是一个功能强大的开源 Java 图形库,它为开发者提供了丰富的图表绘制能力,包括折线图、柱状图、饼图、散点图、甘特图等多种类型。这个中文教程将帮助初学者快速掌握 ...
在这个"Web中JFreeChart图形报表小例子"中,我们将探讨如何在Struts 2.0框架下集成JFreeChart来在JSP页面上展示图形报表。 首先,我们需要理解JFreeChart的基本用法。JFreeChart提供了丰富的API,可以方便地创建和...
**标题:“JFreeChart的一个简单例子”** **描述:** JFreeChart是一个强大的Java库,用于生成各种图表,包括柱状图、饼图、线图、散点图、甘特图等。这篇博客(博文链接:...
这个"jfreechart的一个小例子"是一个非常适合初学者的入门资源,包含了代码示例和必要的配置文件,帮助理解如何在Java项目中集成和使用JFreeChart。 首先,让我们来了解JFreeChart的基本用法。JFreeChart的核心在于...
该程序为一个绘制饼图的简单例子,并解决了再饼图中汉字显示出现乱码问题。
这个简单的例子就是通过以上步骤来创建并展示一个基本的JFreeChart图表。通过学习和实践,你可以进一步探索JFreeChart的高级功能,如动画、交互性、3D图表等,从而在你的Java应用中构建出更复杂、更美观的数据可视化...
这个“jfreeChart例子”压缩包包含了一些示例代码,帮助开发者更好地理解和使用 JFreeChart。 1. **JFreeChart 的基本结构** JFreeChart 的核心组件包括 ChartFactory、Chart、Plot 和 Dataset。ChartFactory 用于...
通过简单的例子,我们可以快速掌握其基本用法,并在此基础上进行更复杂的定制。无论你是需要在桌面应用、Web 应用还是其他 Java 平台上展示数据,JFreeChart 都能提供一个高效且美观的解决方案。
本例子将详细介绍如何在 Web 应用中使用 JFreeChart。 在 Web 开发中,JFreeChart 可以与 Java Servlet 和 JSP(JavaServer Pages)结合,创建动态的图表。首先,我们需要在项目中引入 JFreeChart 的依赖库。通常,...