JFreeChart 学习示例

JFreeChart 是Java平台上一个开放的图表绘制类库,它完全使用Java语言编写,是为applications, applets, servlets 以及JSP等使用所设计。

JFreeChart可以生成饼图(pie)、柱状图(bar)、散点图(plots)、时序图(time)、甘特图(Gantt)等等多种图表,并且可以产生PNG和JPG(JPEG)的输出,还可以与PDF和EXCEL关联。

JFreeChart是一款相当不错的Java图形解决方案,基本能够解决目前的图形方面的需求,官方下载


Java使用JFreeChart插件前,需先导入jar包
右键项目名——》Build Path——》Configure Build Path...——》Libraries——》Add Extenal Jars——》选择上述jar包


-----------------------------------------------------------------


JFreeChart——Line曲线图

  1. import java.io.*;  
  2.   
  3. import org.jfree.data.*;  
  4. import org.jfree.chart.*;  
  5. import org.jfree.chart.plot.*;  
  6.   
  7. public class lineChart {  
  8.     public static void main(String[] args) throws IOException{  
  9.         CategoryDataset dataset = getDataSet2();  
  10.         JFreeChart chart = ChartFactory.createLineChart(  
  11.                 "水果产量图"// 标题  
  12.                 "水果",       // 目录轴(水平)  
  13.                 "产量",       // 数值轴(垂直)  
  14.                 dataset,    // 数据集  
  15.                 PlotOrientation.VERTICAL,   // 图表方向(水平/垂直)  
  16.                 true,       // 是否显示图例(对于简单的柱状图是必须的)  
  17.                 false,      // 是否生成工具  
  18.                 false       // 是否生成 url 链接  
  19.         );  
  20.   
  21.         FileOutputStream fos_jpg = null;  
  22.         try {  
  23.             fos_jpg = new FileOutputStream("./fruit4.jpg");     // 图片的输出目录  
  24.             ChartUtilities.writeChartAsJPEG(fos_jpg, 100, chart, 800600null);  
  25.         } finally {  
  26.             try {  
  27.                 fos_jpg.close();  
  28.             } catch (Exception e) {  
  29.                 e.printStackTrace();  
  30.             }  
  31.         }  
  32.     }  
  33.   
  34.     private static CategoryDataset getDataSet2() {  
  35.         DefaultCategoryDataset dataset = new DefaultCategoryDataset();  
  36.         dataset.addValue(100"北京""苹果");  
  37.         dataset.addValue(600"北京""梨子");  
  38.         dataset.addValue(700"北京""葡萄");  
  39.         dataset.addValue(300"北京""香蕉");  
  40.         dataset.addValue(200"北京""荔枝");  
  41.         dataset.addValue(100"广州""苹果");  
  42.         dataset.addValue(400"广州""梨子");  
  43.         dataset.addValue(600"广州""葡萄");  
  44.         dataset.addValue(500"广州""香蕉");  
  45.         dataset.addValue(200"广州""荔枝");  
  46.         dataset.addValue(100"上海""苹果");  
  47.         dataset.addValue(300"上海""梨子");  
  48.         dataset.addValue(900"上海""葡萄");  
  49.         dataset.addValue(400"上海""香蕉");  
  50.         dataset.addValue(200"上海""荔枝");  
  51.         return dataset;  
  52.     }  
  53. }  
import java.io.*;

import org.jfree.data.*;
import org.jfree.chart.*;
import org.jfree.chart.plot.*;

public class lineChart {
	public static void main(String[] args) throws IOException{
		CategoryDataset dataset = getDataSet2();
		JFreeChart chart = ChartFactory.createLineChart(
				"水果产量图", // 标题
				"水果", 		// 目录轴(水平)
				"产量", 		// 数值轴(垂直)
				dataset, 	// 数据集
				PlotOrientation.VERTICAL,	// 图表方向(水平/垂直)
				true, 		// 是否显示图例(对于简单的柱状图是必须的)
				false, 		// 是否生成工具
				false 		// 是否生成 url 链接
		);

		FileOutputStream fos_jpg = null;
		try {
			fos_jpg = new FileOutputStream("./fruit4.jpg");		// 图片的输出目录
			ChartUtilities.writeChartAsJPEG(fos_jpg, 100, chart, 800, 600, null);
		} finally {
			try {
				fos_jpg.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	private static CategoryDataset getDataSet2() {
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		dataset.addValue(100, "北京", "苹果");
		dataset.addValue(600, "北京", "梨子");
		dataset.addValue(700, "北京", "葡萄");
		dataset.addValue(300, "北京", "香蕉");
		dataset.addValue(200, "北京", "荔枝");
		dataset.addValue(100, "广州", "苹果");
		dataset.addValue(400, "广州", "梨子");
		dataset.addValue(600, "广州", "葡萄");
		dataset.addValue(500, "广州", "香蕉");
		dataset.addValue(200, "广州", "荔枝");
		dataset.addValue(100, "上海", "苹果");
		dataset.addValue(300, "上海", "梨子");
		dataset.addValue(900, "上海", "葡萄");
		dataset.addValue(400, "上海", "香蕉");
		dataset.addValue(200, "上海", "荔枝");
		return dataset;
	}
}

效果图:


-----------------------------------------------------------------

JFreeChart——Pie饼图

  1. import java.io.*;  
  2.   
  3. import org.jfree.data.*;  
  4. import org.jfree.chart.*;  
  5.   
  6. public class pieChart {  
  7.       
  8.     public static void main(String[] args) throws IOException{  
  9.         DefaultPieDataset data = getDataSet();  
  10.         JFreeChart chart = ChartFactory.createPieChart3D(  
  11.                 "水果产量图",    // 标题  
  12.                 data,           // 数据  
  13.                 true,             
  14.                 false,  
  15.                 false  
  16.         );  
  17.           
  18.         FileOutputStream fos_jpg = null;  
  19.         try {  
  20.             fos_jpg = new FileOutputStream("./fruit3_pie.jpg");  
  21.             ChartUtilities.writeChartAsJPEG(fos_jpg, 100, chart, 800600null);  
  22.         } finally {  
  23.             try {  
  24.                 fos_jpg.close();  
  25.             } catch (Exception e) {  
  26.                 e.printStackTrace();  
  27.             }  
  28.         }  
  29.     }  
  30.       
  31.     private static DefaultPieDataset getDataSet() {  
  32.         DefaultPieDataset dataset = new DefaultPieDataset();  
  33.         dataset.setValue("苹果"100);  
  34.         dataset.setValue("梨子"200);  
  35.         dataset.setValue("葡萄"300);  
  36.         dataset.setValue("香蕉"400);  
  37.         dataset.setValue("荔枝"500);  
  38.         return dataset;  
  39.     }  
  40. }  
import java.io.*;

import org.jfree.data.*;
import org.jfree.chart.*;

public class pieChart {
	
	public static void main(String[] args) throws IOException{
		DefaultPieDataset data = getDataSet();
		JFreeChart chart = ChartFactory.createPieChart3D(
				"水果产量图", 	// 标题
				data, 			// 数据
				true, 			
				false,
				false
		);
		
		FileOutputStream fos_jpg = null;
		try {
			fos_jpg = new FileOutputStream("./fruit3_pie.jpg");
			ChartUtilities.writeChartAsJPEG(fos_jpg, 100, chart, 800, 600, null);
		} finally {
			try {
				fos_jpg.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
	
	private static DefaultPieDataset getDataSet() {
		DefaultPieDataset dataset = new DefaultPieDataset();
		dataset.setValue("苹果", 100);
		dataset.setValue("梨子", 200);
		dataset.setValue("葡萄", 300);
		dataset.setValue("香蕉", 400);
		dataset.setValue("荔枝", 500);
		return dataset;
	}
}
效果图:


-----------------------------------------------------------------

推荐参考:

JFreeChart示例

JFreeChart通用示例

Server Tomcat v6.0 Server at localhost failed to start

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值