JFreeChart学习示例

引用:http://blog.csdn.net/sunboy_2050/article/details/6915553

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学习示例_第1张图片


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


JFreeChart——Line曲线图

[java] view plain copy print ?
  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. }  

效果图:

JFreeChart学习示例_第2张图片

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

JFreeChart——Pie饼图
[java] view plain copy print ?
  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. }  
效果图:

JFreeChart学习示例_第3张图片

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

推荐参考:

JFreeChart示例

JFreeChart通用示例

Server Tomcat v6.0 Server at localhost failed to start

你可能感兴趣的:(JFreeChart学习示例)