JFree chart

原创 2012年03月28日 16:22:55

http://supben.iteye.com/blog/821779

 

我们以折线图为例子

第一步,构建数据集

Java代码 复制代码 收藏代码
  1. /**  
  2.      * 获取数据集  
  3.      * @return  
  4.      */  
  5.     private CategoryDataset getDataset() {   
  6.         DefaultCategoryDataset dataset = new DefaultCategoryDataset();   
  7.   
  8.         dataset.addValue(2.8"冰箱""1月");   
  9.         dataset.addValue(4.2"冰箱""2月");   
  10.         dataset.addValue(3.9"冰箱""3月");   
  11.         dataset.addValue(3.8"冰箱""4月");   
  12.         dataset.addValue(4.2"冰箱""5月");   
  13.         dataset.addValue(3.9"冰箱""6月");   
  14.         dataset.addValue(1.7"冰箱""7月");   
  15.         dataset.addValue(4.2"冰箱""8月");   
  16.         dataset.addValue(3.9"冰箱""9月");   
  17.         dataset.addValue(2.5"冰箱""10月");   
  18.         dataset.addValue(4.2"冰箱""11月");   
  19.         dataset.addValue(3.9"冰箱""12月");   
  20.   
  21.         dataset.addValue(1.2"彩电""1月");   
  22.         dataset.addValue(3.2"彩电""2月");   
  23.         dataset.addValue(4.9"彩电""3月");   
  24.         dataset.addValue(2.5"彩电""4月");   
  25.         dataset.addValue(3.2"彩电""5月");   
  26.         dataset.addValue(1.9"彩电""6月");   
  27.         dataset.addValue(2.7"彩电""7月");   
  28.         dataset.addValue(3.2"彩电""8月");   
  29.         dataset.addValue(3.9"彩电""9月");   
  30.         dataset.addValue(3.0"彩电""10月");   
  31.         dataset.addValue(1.2"彩电""11月");   
  32.         dataset.addValue(1.9"彩电""12月");   
  33.   
  34.         return dataset;   
  35.   
  36.     }  



第二步,根据数据集构建折线图

Java代码 复制代码 收藏代码
  1. private JFreeChart createChart() {   
  2.         CategoryDataset dataset = getDataset();   
  3.         //标题,x轴,y轴,数据集,图标方向,是否显示图例,是否生成工具,是否生成url   
  4.         JFreeChart line = ChartFactory.createLineChart("折线图""时间""销售额(百万)", dataset, PlotOrientation.VERTICAL, true,   
  5.                 truefalse);   
  6.   
  7.         line.setBackgroundPaint(new Color(200200255));   
  8.         //设置标题文字   
  9.         line.getTitle().setFont(new Font("黑体", Font.BOLD, 18));   
  10.         //设置底部图例字体   
  11.         line.getLegend().setItemFont(new Font("黑体", Font.BOLD, 12));   
  12.   
  13.         CategoryPlot plot = line.getCategoryPlot();   
  14.   
  15.         //网格线的颜色,就是与x轴平行的一条一条的虚线   
  16.         plot.setRangeGridlinePaint(new Color(7070170));   
  17.   
  18.         //设置图区的背景色   
  19.         //plot.setBackgroundPaint(new Color(255, 255, 255));   
  20.   
  21.         LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();   
  22.   
  23.         //设置第一个根线为蓝色加粗   
  24.         renderer.setSeriesStroke(0new BasicStroke(2.0f));   
  25.         renderer.setSeriesPaint(0new Color(00255));   
  26.   
  27.         //设置第2根线为红色加粗   
  28.         renderer.setSeriesStroke(1new BasicStroke(2.0f));   
  29.         renderer.setSeriesPaint(1new Color(25500));   
  30.   
  31.         //设置数据点可见   
  32.         renderer.setBaseShapesVisible(true);   
  33.   
  34.         //显示数据点的值可见   
  35.         renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());   
  36.         renderer.setBaseItemLabelsVisible(true);   
  37.   
  38.         //获取x轴   
  39.         CategoryAxis axis = plot.getDomainAxis();   
  40.         //获取y轴   
  41.         ValueAxis numberAxis = plot.getRangeAxis();   
  42.            
  43.         axis.setLabelFont(new Font("黑体", Font.BOLD, 12));   
  44.         axis.setTickLabelFont(new Font("黑体", Font.BOLD, 12));   
  45.            
  46.         numberAxis.setTickLabelFont(new Font("黑体", Font.BOLD, 12));   
  47.         numberAxis.setLabelFont(new Font("黑体", Font.BOLD, 12));   
  48.   
  49.         return line;   
  50.     }  




第3步,输出图片

Java代码 复制代码 收藏代码
  1. //生成图片   
  2.     private void createPng() {   
  3.         JFreeChart jfreechart = createChart();   
  4.         OutputStream os;   
  5.         try {   
  6.             os = new FileOutputStream("d:/line.png");   
  7.             ChartUtilities.writeChartAsPNG(os, jfreechart, 800400);   
  8.             os.close();   
  9.         } catch (Exception e) {   
  10.             e.printStackTrace();   
  11.         }   
  12.     }  




注:附件是代码和支持jar包,包括,折线图,饼图,柱状图的例子
  • 大小: 26.3 KB

jFree Chart学习-柱状图

前提要添加依赖的jar包,在你个pom.xml文件中添加如下依赖 1.第一个是jcommon jfree jcommon...

CHART , JFREE api

  • 2013年06月01日 13:08
  • 16KB
  • 下载

jfree chart docs

  • 2012年04月10日 12:26
  • 9.1MB
  • 下载

JFREE折线图

import java.awt.Font;import java.io.File;import java.util.Date;import org.jfree.chart.ChartFactory;i...
  • xly520
  • xly520
  • 2011年05月10日 21:09
  • 371

jfree生成柱形图

  • 2013年04月20日 20:50
  • 1.57MB
  • 下载

通过调节坐标进行jfree图的放大缩小

通过调节坐标进行jfree图的放大缩小 import java.awt.BorderLayout; import java.util.Hashtable; imp...

用Jfree实现条形柱状图表,java代码实现

用Jfree实现条形柱状图表,java代码实现。可经常用于报表的制作,代码自动生成后可以自由查看。可以自由配置图表的各个属性,用来达到自己的要求和目的...

java Jfree,文件中代码检测: 完成每周记录,并实现折线图和饼状图

先需要导入两个包:jreechar-1.0.13 jcommon1.0.16 下载地址:https://cn.jarfire.org/jcommon.html https://cn.jarfire...
  • wilver
  • wilver
  • 2016年10月26日 15:53
  • 277
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JFree chart
举报原因:
原因补充:

(最多只允许输入30个字)