java 生成折线图_jfree jsp java 生成折线图(详解带jar)
1. 下载jfreechart-1.0.9.zip 包,解压将下面的.jar 文件放入自己工程的lib下.
2. 在web.xml 文件中添加一个servlet,如下所示:
DisplayChart
org.jfree.chart.servlet.DisplayChart
DisplayChart
/servlet/DisplayChart
3. 编写java 类package com.cchc.thfnt.delClient;
import java.awt.Color;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.data.time.Day;
import org.jfree.data.time.Hour;
import org.jfree.data.time.Minute;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
import org.jfree.ui.RectangleInsets;
import com.cchc.common.util.DateFormat;
public class WebChart {
private String stringdate="";
public WebChart(String time){
if("".equals(time)||time==null){
Date date=new Date(System.currentTimeMillis());
stringdate=DateFormat.shortDate(date);
}else{
stringdate=time;
}
}
public String getFolddown(HttpServletRequest request, HttpSession session) {
// 设置曲线,
TimeSeries timeseries1 = new TimeSeries("usl", Minute.class);
List list=new ArrayList();
list.add(stringdate+" 08:00");
list.add(stringdate+" 08:15");
list.add(stringdate+" 08:30");
list.add(stringdate+" 08:45");
list.add(stringdate+" 09:00");
list.add(stringdate+" 09:15");
list.add(stringdate+" 09:30");
list.add(stringdate+" 09:45");
list.add(stringdate+" 10:00");
list.add(stringdate+" 10:15");
list.add(stringdate+" 10:30");
list.add(stringdate+" 10:45");
list.add(stringdate+" 11:00");
list.add(stringdate+" 11:15");
list.add(stringdate+" 11:30");
list.add(stringdate+" 11:45");
list.add(stringdate+" 12:00");
list.add(stringdate+" 12:15");
list.add(stringdate+" 12:30");
list.add(stringdate+" 12:45");
list.add(stringdate+" 13:00");
list.add(stringdate+" 13:15");
list.add(stringdate+" 13:30");
list.add(stringdate+" 13:45");
list.add(stringdate+" 14:00");
list.add(stringdate+" 14:15");
list.add(stringdate+" 14:30");
list.add(stringdate+" 14:45");
list.add(stringdate+" 15:00");
list.add(stringdate+" 15:15");
list.add(stringdate+" 15:30");
list.add(stringdate+" 15:45");
list.add(stringdate+" 16:00");
list.add(stringdate+" 16:15");
list.add(stringdate+" 16:30");
list.add(stringdate+" 16:45");
list.add(stringdate+" 17:00");
list.add(stringdate+" 17:15");
list.add(stringdate+" 17:30");
list.add(stringdate+" 17:45");
list.add(stringdate+" 18:00");
list.add(stringdate+" 18:15");
list.add(stringdate+" 18:30");
list.add(stringdate+" 18:45");
list.add(stringdate+" 19:00");
list.add(stringdate+" 19:15");
list.add(stringdate+" 19:30");
list.add(stringdate+" 19:45");
list.add(stringdate+" 20:00");
list.add(stringdate+" 20:15");
list.add(stringdate+" 20:30");
list.add(stringdate+" 20:45");
list.add(stringdate+" 21:00");
list.add(stringdate+" 21:15");
list.add(stringdate+" 21:30");
list.add(stringdate+" 21:45");
list.add(stringdate+" 22:00");
list.add(stringdate+" 22:15");
list.add(stringdate+" 22:30");
list.add(stringdate+" 22:45");
list.add(stringdate+" 23:00");
list.add(stringdate+" 23:15");
list.add(stringdate+" 23:30");
list.add(stringdate+" 23:45");
list.add(stringdate+" 24:00");
for(int i=0;i
String time=(String) list.get(i+1);
float y1=new Page().getCounts(list.get(i), list.get(i+1));
int x = Integer.parseInt(time.substring(0, 4));
int y = Integer.parseInt(time.substring(5, 7));
int z = Integer.parseInt(time.substring(8, 10));
int a = Integer.parseInt(time.substring(11, 13));
int b = Integer.parseInt(time.substring(14, 16));
timeseries1.add(new Minute(b, new Hour(a, new Day(z, y, x))), y1);
}
// 连接曲线
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(timeseries1);
dataset.setDomainIsPointsInTime(true);
// 设置曲线图
XYDataset xydataset = (XYDataset) dataset;
JFreeChart chart = ChartFactory.createTimeSeriesChart(
"穿墙网--8时到24时帖子代维走势图", "时间", "15分钟内代维的帖子数量", xydataset, false, false, false);
chart.setBackgroundPaint(Color.white);// 设置曲线图背景色
XYPlot plot = (XYPlot) chart.getPlot();
XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer) plot
.getRenderer();
plot.setBackgroundPaint(Color.white);// 设置网格背景颜色
plot.setDomainGridlinePaint(Color.pink);// 设置网格竖线颜色
plot.setRangeGridlinePaint(Color.pink);// 设置网格横线颜色
plot.setAxisOffset(new RectangleInsets(0D, 0D, 0D, 10D));// 设置曲线图与xy轴的距离,即曲线与xy轴贴近的距离
xylineandshaperenderer.setBaseShapesVisible(true);// 设置曲线是否显示数据点
String filename="";
try {
filename = ServletUtilities.saveChartAsPNG(chart, 970, 400,
null, session);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String graphURL = request.getContextPath()
+ "/servlet/DisplayChart?filename=" + filename;
return filename;
}
}
4. 编写jsp 页面
String time = request.getParameter("time");
WebChart chart = new WebChart(time);
String filename = chart.getFolddown(request, session);
String graphURL = request.getContextPath()
+ "/servlet/DisplayChart?filename=" + filename;
%>
代维走势图
/css/css/CN/BLUE/mainWin.css"
type=text/css media=screen rel=stylesheet>
/css/css/CN/BLUE/query.css"
type=text/css media=screen rel=stylesheet>
/css/css/CN/BLUE/calendar.css"
type=text/css media=screen rel=stylesheet>
href="/css/css/comm/BLUE/mainWin.css"
type=text/css media=screen rel=stylesheet>
function searchbbs(){
var time=document.getElementByIdx_x_x("startDate").value;
if(time==""){
alert("时间不能为空,请输入时间.");
return;
}
window.location=""+"/delClient/reportForms.jsp?time="+time;
}
cellspacing="0">
cellspacing="0">
cellspacing="0">
此处可以查看任何一天的代维走势图 请输入日期:
type="test" name="startDate" size="10" οnblur="TextOnBlur(this);"
id="startDate" styleClass="inputdate" οnfοcus="this.select();" />
οnclick="OpenDate(document.all.startDate);">
" border=0">
cellspacing="0">
cellspacing="7" bgcolor="#CCCCCC">
file="/common/foot.jsp"%>
至此 一个折线图就生成完毕!
-----------------------------------------------------
转载请注明来源此处
原地址:#
java 生成折线图_jfree jsp java 生成折线图(详解带jar)相关推荐
- java pdf 页眉_itext生成PDF设置页眉页脚的实例详解
itext生成PDF设置页眉页脚的实例详解 实例代码: /** * ITextTest * iText生成PDF加入列表,注释等内容,同时设置页眉和页脚及页码等. */ package com.lab ...
- java导出pdf页码设置_itext生成PDF设置页眉页脚的实例详解
itext生成pdf设置页眉页脚的实例详解 实例代码: /** * itexttest * itext生成pdf加入列表,注释等内容,同时设置页眉和页脚及页码等. */ package com.lab ...
- WEB后台--邮件和短信业务实现(包括Java一键实现、封装和异步)以及原理详解
本来就打算针对一些固定的特别点的业务(QQ与网易邮件.拦截设计.短信.定时器等等)来进行记录以及解析原理,这些会比较零散记录在JavaWeb的分类里面,感兴趣的童鞋可以去看下. 有人问为什么要邮件短信 ...
- js和php能生成一样的随机数_JavaScript_JS生成某个范围的随机数【四种情况详解】,前言:
JS没有现成的函数,能 - phpStudy...
JS生成某个范围的随机数[四种情况详解] 前言: JS没有现成的函数,能够直接生成指定范围的随机数. 但是它有个函数:Math.random() 这个函数可以生成 [0,1) 的一个随机数. 利用它 ...
- java制作海报一:java使用Graphics2D 在图片上写字,文字换行算法详解
文章目录 前言 一.直接上代码 1. 写字方法 2. 换行算法 二. 叙述换行算法 前言 代码都上传到GitHub了,这里仅仅是贴出来主要部分,GitHub传送门:https://github.com ...
- Java构造和解析Json数据的两种方法详解一
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...
- Java中创建String的两道面试题及详解
转载自 Java中创建String的两道面试题及详解 我们知道创建一个String类型的变量一般有以下两种方法: String str1 = "abcd";String str2 ...
- java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用
java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用
- java显示参数,Java中的隐式参数和显示参数实例详解
在学习java的过程中,我们会遇到许多的问题.下面我们就来看看什么是隐式参数和显示参数. 显式参数,就是平时见到的在方法名括号中间的参数,就是所谓能看得见的参数www.cppcns.com. 隐式参数 ...
最新文章
- 技术01期:大规模图计算【基础篇】
- 寒武纪创始人兼CEO陈天石博士的公开信
- LINUX系统以及ANDROID 平台log信息输出级别设置 [MTK]
- 图解VC++工具栏和状态栏编程实例
- 替换空格---剑指Offer
- 语言 micropython_MicroPython蓝牙BLE例程实操(一)
- javascript 运算符优先级
- 疑似又一vivoX80新机通过3C质量认证:全系标配80W快充
- mysql8 win10_window10下安装多个MySQL8.0
- linux驱动初探之字符驱动
- Linux安装java(jdk8)
- php未定义常量破解,如何使PHP未定义的常量注意到错误
- 51单片机蜂鸣器演奏《小苹果》C语言程序,51单片机蜂鸣器播放小星星两只老虎欢乐颂 源程序...
- DFA敏感词过滤算法详解
- java分发_【Java】用注解实现分发器
- 一款集成微信小助手的mac微信最新版!支持发朋友圈!
- jib推送到harbor私有仓库并拉取镜像
- 【洛谷】P5149 会议座位
- 直线上最多的点数java
- 打算抽时间自学一下游戏制作,做一款Mud文字游戏
热门文章
- SAP Marketing Cloud里的contact main facet是什么意思
- Action profile: ZAVADDR和ZAVPERS
- ABAP document read logic
- 列出系统所有未被Business transaction 引用的Products集合
- Multiple Origin composition test - Opportunity Creation case
- SAP Spartacus的自定义静态页面
- S/4HANA服务订单Service Order的批量创建
- SAP云平台里的日志系统概述
- SAP系统里的订单,可以随便删除么?
- 在SAP Smart Business workspace里创建KPI tile的错误消息分析