Java程序中用JFreeChart制作图形报表-Java基础-Java-编程开发

Java通过JFreeChart实现(饼图、柱状图、层叠柱状图、折线图、散点图、雷达图、环形图、仪表盘图、XY图)生成图片和下载 2、工具类 2.1 JFreeChart工具类 2.2 GenerateChartUtil 图表生成工具类 2.3 GeneratePieChartUtil 饼图生成工具类 3、生成图片到本地测试代码类 3.1 生成饼图 3.1.1 调用方法 3.1.2 生成图片效果 3.2 生成3D饼图 3.2.1 调用方法 3.2.2 生成图片效果 3.3 生成柱状图 3.3.1 调用方法 3.3.2 生成图片效果 3.4.2 生 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>  一、需求分析

  我家领导认为,在是否嫁给我做老婆的问题上,应该有更加科学的决策模型。如果能够将每天的感情生活量化,且以时间为X轴,生成数据报表,就可以为她的决策提供数据支持。秉着以领导意志为导向的基本原则,开发了本软件,为家庭信息化建设提供新的思路。

  二、系统概述

  本系统的基本功能是,接收用户每天的输入并保存,月/季度/年度末生成数据折线图、周期环比柱状图。由于投入资金有限(不让我往外掏钱就已经很不错了),所以本软件的1.0版采用单机应用程序,使用Access数据库。如果市场推广情况良好,不排除推出大型FRP软件(Family Resource Project)的可能,届时将包含KRM(Kin Relation Manage,家族关系管理)、HA(House Automatization,家庭自动化)等模块,利用强大的J2EE框架,为家庭信息化建设提供完整解决方案。

  程序生成的目标图片效果如下:

  三、系统要求

  1、 开源工具包jfreechart-1.0.0-pre1.jar和它自己要使用的工具包jcommon-1.0.0-pre1.jar

  下载地址:http://sourceforge.net/projects/jfreechart/

  2、 女朋友一个。

  请自行准备,暂不提供下载

  下面主要讲述系统是如何从数据库中提取数据,然后生成图形报表的。(终于进入正题了。)

  数据表结构:

curve_id流水号自动增长
curve_ownervarchar(30)区分是老公的数据还是老婆的数据
curve_centdouble当天分数
curve_yearint年
curve_monthint月
curve_dayint日
notetext备注
  用于封装每个分数的值对象如下:

package org.bromon.fiona.curve.dao;

import java.util.*;

public class CurveVo
{
private int year;

private int month;

private int day;

   private double cent;

   private String note;

    private String owner;

    //get/set方法

…………
}

   生成图片的关键代码如下:

package org.bromon.fiona.curve.util;

//一大堆import

public class DrawPic /**
{
 >   *根据时间查询数据,将所得到的数据封装成TimeSeriesCollection对象
   *TimeSeriesCollection是JfreeChart中定义的类的对象
   *本方法将被后面的draw方法调用
   *@param int 要查询哪一年
   *@param int 要查询哪一月
   *@return TimeSeriesCollection
  */

  public TimeSeriesCollection getData(int year,int month)
  {
   //fiona的数据集合,其中存放的是上面定义过的CurveVo值对象
   //这些值对象的值来自于数据库,相关代码是最常见的jdbc内容,请自行完成

   List dataOfFiona=new ArrayList();

   //Bromon的数据集合

   List dataOfBromon=new ArrayList();

   //构造要返回的对象

   TimeSeriesCollection result=new TimeSeriesCollection();

   //这两个对象,分别对应一条曲线,构造函数的参数,将显示在图片的下方

   TimeSeries fiona=new TimeSeries("fiona");
   TimeSeries bromon=new TimeSeries("bromon");
   CurveVo cv=null;
   //遍历Fiona的数据集,填充fiona对象

   for(int i=0;i<dataOfFiona.size();i )
   {
    cv=(CurveVo)dataOfFiona.get(i);
    fiona.add(new TimeSeriesDataItem(new Day(cv.getDay(),cv.getMonth(),cv.getYear()), new Double(cv.getCent())));

   }
   result.addSeries(fiona);
   for(int i=0;i<dataOfBromon.size();i )
   {
    cv=(CurveVo)dataOfBromon.get(i);
    bromon.add(new TimeSeriesDataItem(new Day(cv.getDay(),cv.getMonth(),cv.getYear()),new Double(cv.getCent())));

   }
   result.addSeries(bromon);
  }
  //生成图表的方法,图表数据来自上面的getData方法

  public String draw(int y,int m)
  {
   String result=null;
   String title="Bromon & Fiona的爱情走势图";
   String subTitle=y "年" m "月";
   String domain="时间";//x轴
   String range="分值";//y轴
   TimeSeriesCollection data =this.getData(y,m);
   JFreeChart chart =ChartFactory.createTimeSeriesChart(title,domain,range,data,true,true,false);
   TextTitle subtitle =new TextTitle(subTitle, new Font("宋体", Font.BOLD, 20));
   chart.addSubtitle(subtitle);
   chart.setTitle(new TextTitle(title, new Font("宋体", Font.ITALIC, 20)));
   chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.white));
   c.setTime(new Date());
   String fileName="c://pics//" y "" m ".jpg";//保存为位置
   try
   {
    File f=new File("c://pics");
    if(!f.exists())
    {
     f.mkdir();
    }
    ChartUtilities.saveChartAsJPEG(new File(fileName), 100, chart, 1000, 600);//宽1000,高600
   } catch (Exception e)
   {
    e.printStackTrace();
   }
   result=fileName;
   return result;
  }

  //ok,测试一下

  public static void main(String args[])
  {
    new DrawPic().draw(2005,3);
  }
}

   生成环比柱状图的相关内容,整理后放出。

   JfreeChart的绘图功能很强大,但是API的编写有些地方让人很不舒服,很多元素要定制不容易。如果有更好的API的话,我很愿意使用,当然,免费是个很重要的前提。

JFreeChart实现图形报表 1.JFreeChart简介JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications,servlets以及JSP等使用所设计。 JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且 阅读详情

相关推荐

J2EE报表开发实战教程:iReport与JFreeChart的应用

本文还有配套的精品资源,点击获取 简介:Java报表开发是企业应用的核心,用于数据分析和决策支持。本文深入探讨了使用iReport创建报表模板以及通过JFreeChart生成各类图表的实践方法。将介绍如何安装配置iReport,利用其用户界面设计报表,以及如何通过JFreeChart库生成高质量的图表。同时,还将讲解如何将报表导出为多种格式,并在J2EE应用程序中实现动态数...

weixin_30820933的博客 1029

【亲测免费】 ECharts-Java 使用教程

ECharts-Java 是一个基于 Apache ECharts 5.x 的 Java 可视化类库。它为 Java 开发者提供了一个轻量级但全面的方式来使用 JavaScript 可视化库 Apache ECharts。通过简洁的 API 和方法链,ECharts-Java 支持快速编写可视化图表,并覆盖了 Apache ECharts 的几乎所有功能。 ## 项目快速启动 ### 安装 ...

gitblog_00741的博客 1670

easycharts完整JAR包,源码,API,DEMO

easycharts完整JAR包,源码,API,DEMO。 EASYCHARTS是处理图表的一款很不错的JAR包,配合JAVA使用,在报表生成技术中有着至关重要的作用。 它可以处理柱状图、饼状图、点图、线状图、复合图,而且产生的图还可以动,可以点击,可以旋转

【Java绘图】超详细图解Jfree的安装、配置与使用

超详细图解Jfree的安装、使用,解答常见问题如IDEA提示无法识别jfree.chart、setVisible方法,举实例"运用omega的定义证明omega(n)=n**2"

m0_73569204的博客 8089

Excel—EasyCharts图表插件

Excel—EasyCharts图表插件Excel—EasyCharts图表插件Excel—EasyCharts图表插件

java利用jfreechart绘制excel参考.pdf

java利用jfreechart绘制excel参考.pdf

Java绘图库JFreeChart的详细使用教程(入门级)

详细介绍如何使用 Java 绘图库JFreeChart 创建折线图、条形图、面积图、散点图、饼图等。

QQVQQ的博客 3万+

泰克示波器TDS210改装便携示波器

泰克示波器TDS210改装编写示波器

超级网吧的博客 3080

Java程序中用JFreeChart制作图形报表

Java程序中用JFreeChart制作图形报表  一、需求分析   我家领导认为,在是否嫁给我做老婆的问题上,应该有更加科学的决策模型。如果能够将每天的感情生活量化,且以时间为X轴,生成数据报表,就可以为她的决策提供数据支持。秉着以领导意志为导向的基本原则,开发了本软件,为家庭信息化建设提供新的思路。  二、系统概述  本系统的基本功能是,接收用户每天的输入并保存,月/季度/年度末生成数据折

756

从‘最速控制’到代码:深入拆解韩京清ADRC中TD跟踪器的fhan函数(含Matlab/Simulink实例)

本文深入解析韩京清ADRC中的fhan函数,从理论到代码实现,详细拆解其在Matlab/Simulink中的应用。通过分析最速控制问题和非线性TD的连续形式,揭示fhan函数在信号处理和噪声抑制中的独特优势,并提供工程实践中的参数整定和优化技巧。

weixin_42659194的博客 247

体验灵雀云-创建基于Docker的云服务

今天体验了一下灵雀云,创建了第一个基于Docker的云服务。 1.登录灵雀云 2.开始使用 登录之后,从"控制台"进入操作界面,开始创建服务。 首先需要选择一个镜像。灵雀云已经为您提供了一些常用的镜像列表。请在“常用镜像”列表中,选择“其它”,然后找到“alauda/hello-world”镜像,点击它右侧的“选择”按钮,进入服务参数配置页面。 选择完要创建的

tomcat的专栏 3234

Java报表制作(iReport+jaserReport+jFreeChart)

INTRODUCTION目前开源报表中,本人觉得比较好的组合是iReport+jasperReport+jFreeChart,本文将对这三个工具做一些介绍,希望对你的报表开发有些帮助。  2         JasperReport2.1      简介JasperReport 是产生报表的核心部分,首先要先有个xml文件,然后根据jasperreports.dtd编译成j

5084

pentaho-kettle依赖拉取失败?试试这个Maven仓库配置的终极解决方案

本文详细解析了Pentaho Kettle依赖拉取失败的常见原因,并提供了三种Maven仓库配置方案,包括基础pom.xml配置、全局settings.xml设置以及企业级私有镜像仓库搭建。通过实战验证的方法和常见问题排查指南,帮助开发者彻底解决pentaho-kettle依赖问题,提升项目构建效率。

weixin_30275415的博客 205

Java开源报表制作

 Openreports   点击次数:7596OpenReports提供基于web的灵活报表解决方案,通过浏览器自动生成动态PDF,XLS,HTMLCSV和Chart报表。利用到的开源技术有Hibernate,Veloctiy,Webwork。 JFreeChart   点击次数:20352JFreeChart它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图

spring的专栏 5087

python知网爬虫论文pdf下载+立即可用(动态爬虫)

python实现动态爬虫知网论文,搜索+自动翻页+下载 收集数据利器

Braylon的博客 5380

Hermes Dashboard Web 端部署完整说明

通过反向代理(nginx)使用公网域名访问时,会遇到 Host 头校验、CORS 跨域、WebSocket 连接拒绝三个核心问题。本文档记录了完整的源码修改方案和部署步骤。确保 nginx 主配置加载了 WebSocket map(宝塔默认为。路径的公开访问(无需登录),其他路径仍受 Cookie 认证保护。Hermes Dashboard 默认绑定。访问站点时会先弹出浏览器密码框,输入用户。在 nginx 反向代理配置中的。环境变量动态读取允许的域名。nginx 配置中已添加。

大白菜代码的博客 805

java 图形 报表_Java程序中用JFreeChart制作图形报表

一、需求分析   我家领导认为,在是否嫁给我做老婆的问题上,应该有更加科学的决策模型。如果能够将每天的感情生活量化,且以时间为X轴,生成数据报表,就可以为她的决策提供数据支持。秉着以领导意志为导向的基本原则,开发了本软件,为家庭信息化建设提供新的思路。  二、系统概述  本系统的基本功能是,接收用户每天的输入并保存,月/季度/年度末生成数据折线图、周期环比柱状图。由于投入资金有限(不让我往外掏钱就...

weixin_39968410的博客 214

ISP算法:自动白平衡(AWB)

1. 为什么要做白平衡? 人类视觉系统具有颜色恒常性特点,一次人类对物体观察不受光源影响。但是Sensor在不同光线下,物体呈现的颜色不同,在晴朗天空下会偏蓝,在烛光下会偏红。如图: 2.什么是自动白平衡? 为了消除光源对于图像传感器成像的影响,模拟人类视觉系统的颜色恒常性。保证在任何场景下看到的白色是真正的白色。 3. 如何做自动白平衡? 只要乘以一个对角矩阵,便可以进行白平衡...

a200800170331的专栏 1万+

基于Java开源报表制作工具

Openreports   点击次数:7596OpenReports提供基于web的灵活报表解决方案,通过浏览器自动生成动态PDF,XLS,HTMLCSV和Chart报表。利用到的开源技术有Hibernate,Veloctiy,Webwork。 JFreeChart   点击次数:20352JFreeChart它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以

Tunix126的专栏 5395

【深度学习|多实例学习】多实例学习(Multiple Instance Learning, MIL)的起源、发展和应用,附代码(一)

【深度学习|多实例学习】多实例学习(Multiple Instance Learning, MIL)的起源、发展和应用,附代码(一)

2401_89898861的博客 1925

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

java报表开发之报表总述

java报表开发之报表总述

hfuuhgcc的博客 1666

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

java报表之JFreeChart_JAVA做报表 -- JFreeChart 实例1

之所以选择JFreeChart,因为他 开源的,免费。并且它的功能不少,饼图、柱状图(普 通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等,甚至还有3D图形,基本能满足一般的报表图形要求。JFreeChart(http://www.jfree.org/)支持 Application/Applet/Servlet/Jsp,有两种生成图表方式,一是利用java app本...

weixin_42355999的博客 491

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

JFreeChart,XMLChart,iText等开源报表工具

本文简单介绍JFreeChart,XMLChart,iText等开源报表工具的功能,及如何在Web Application中使用JFreeChart1.JFreeChart可以从这里下载:  http://www.jfree.org/jfreechart/index.html 功能介绍:JFreeChart is a free Java class library for generating c

夏天的专栏 3252
上一篇: Java咖啡馆(7)——大话面向对象(上)-Java基础-Java-编程开发
下一篇: JBuilder2005实现重构之对重构的支持-Java基础-Java-编程开发
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值