`
359904908
  • 浏览: 6571 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论
阅读更多
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import =" java.awt.*,
java.text.SimpleDateFormat,
javax.swing.JPanel,
org.jfree.chart.ChartFactory,
org.jfree.chart.ChartPanel,
org.jfree.chart.JFreeChart,
org.jfree.chart.axis.DateAxis,
org.jfree.chart.plot.XYPlot,
org.jfree.chart.renderer.xy.XYItemRenderer,
org.jfree.chart.renderer.xy.XYLineAndShapeRenderer,
org.jfree.data.time.*,
org.jfree.data.time.TimeSeries,
org.jfree.data.time.TimeSeriesCollection,
org.jfree.data.xy.XYDataset"%>
<%@ page import="org.jfree.chart.servlet.ServletUtilities"%>
<%@ page import="java.util.*"%>
<%@ page import = "org.jfree.ui.RectangleInsets"%>
<%@ page import = "java.sql.*"%>
<jsp:directive.page import="org.jfree.chart.axis.CategoryAxis"/>
<jsp:directive.page import="org.jfree.chart.axis.ValueAxis"/>
<html>
<%
//连接数据库
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String url="jdbc:sqlserver://localhost:1433;DataBaseName=database_name";
String usr="sa";
String pwd="sa";
Connection conn=DriverManager.getConnection(url,usr,pwd);
Statement stmt=conn.createStatement();
String sql="select * from jfree order by id";
ResultSet rs=stmt.executeQuery(sql);

//设置曲线,共三条曲线
TimeSeries timeseries = new TimeSeries("平均",Minute.class);//时间的最小单位为分,线值名是“平均”
TimeSeries timeseries1 = new TimeSeries("usl",Minute.class);
TimeSeries timeseries2 = new TimeSeries("lsl",Minute.class);

//从数据库中取值,数据和时间
while(rs.next())
{
float y0=rs.getFloat("lengthavg");
float y1=rs.getFloat("lengthusl");
float y2=rs.getFloat("lengthlsl");
String s=rs.getString("addtime");
//从yyyyMMddHHmm时间格式的char中取出年月日小时分设为int值
//int x=Integer.parseInt(s.substring(0,4));   //截取年
//int y=Integer.parseInt(s.substring(5,6)); //截取月
//int z=Integer.parseInt(s.substring(6,7)); //截取日
//int a=Integer.parseInt(s.substring(8,10));
//int b=Integer.parseInt(s.substring(11,12));

int x=Integer.parseInt(s.substring(0,4));   //截取年
int y=Integer.parseInt(s.substring(5,7)); //截取月
int z=Integer.parseInt(s.substring(8,10)); //截取时间
int a=Integer.parseInt(s.substring(11,13));
int b=Integer.parseInt(s.substring(14,16));

out.print(x+"年");
out.print(y+"月");
out.print(z+"日");
out.print(a+"小时");
out.print(b+"分钟");
out.print("<br>");
timeseries.add(new Minute(b,new Hour(a,new Day(z,y,x))),y0);
timeseries1.add(new Minute(b,new Hour(a,new Day(z,y,x))),y1);
timeseries2.add(new Minute(b,new Hour(a,new Day(z,y,x))),y2);

}

//连接曲线
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(timeseries);
dataset.addSeries(timeseries1);
dataset.addSeries(timeseries2);
dataset.setDomainIsPointsInTime(true);

//设置曲线图
XYDataset xydataset = (XYDataset) dataset;
JFreeChart chart = ChartFactory.createTimeSeriesChart(
"走势图",
"时间",
"值",
xydataset,
true,
true,
true
);
Font font = new Font("微软雅黑",Font.CENTER_BASELINE,12);
chart.getTitle().setFont(font); //设置标题字体
chart.getLegend().setItemFont(font); //设置下标题字体
chart.setBackgroundPaint(Color.white);//设置曲线图背景色

XYPlot plot = (XYPlot) chart.getPlot();
//CategoryAxis domainaxis = plot.getDomainAxis();
  ValueAxis numberaxis = plot.getRangeAxis();
 
  //domainaxis.setTickLabelFont(font); //设置X轴坐标上和文字
  //domainaxis.setLabelFont(font); //设置X轴的标题文字
  //numberaxis.setTickLabelFont(font); //设置Y轴坐标上的文字
  numberaxis.setLabelFont(font); //设置Y轴的标题文字
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 = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session);
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
%>
<img src="<%= graphURL %>" border=0 usemap="#<%= filename %>">


数据库表
id int,
lengthavg float,
lengthusl float,
lengthlsl float,
addtime datatime

分享到:
评论

相关推荐

    jdk+tomcat+jfreechart+sql_server2000安装心得

    ### jdk+tomcat+jfreechart+sql_server2000安装心得 #### JDK 安装与配置 1. **JDK安装步骤**: - 首先下载`j2sdk_5_0.exe`安装包。 - 选择安装路径`C:\jdk1.5.0`。 - 设置环境变量`JAVA_HOME`指向`C:\jdk1.5.0...

    JFreeChart+JSP实现统计图展示

    "JFreeChart+JSP实现统计图展示"是一个典型的Web应用程序开发案例,它结合了JFreeChart库、JavaServer Pages (JSP) 和Servlet技术,用于从SQL Server 2005数据库中提取数据并以图表的形式呈现。 **JFreeChart** 是...

    Java Web项目整合开发

    16进销存管理系统(JSP+JavaBean+JFreeChart+SQL Server2005) 17网上淘书吧(JSP+JavaBean+SQL Server2005) 18新奥家电连锁网络系统(JSP+JavaBean+SQL Server2005) 19大学生就业求职网(JSP+JavaBean+SQL Server2005) ...

    struts2+hibernate+spring+jfreechart+导出excel+导出pdf完美整合

    通过Hibernate,可以避免编写大量的SQL语句,提高开发效率,并且支持事务管理和对象的持久化。 Spring 框架是Java企业级应用的核心框架,它提供了一个全面的基础设施,包括依赖注入、面向切面编程、事务管理等,...

    struts2+hibernate+spring+jfreechart+导出excel+导出pdf完美整合.zip

    通过Hibernate,开发者可以使用面向对象的方式来处理数据库事务,避免编写大量的SQL语句。 Spring 框架是企业级Java应用的核心框架,它提供了依赖注入(DI)和面向切面编程(AOP)等功能,有助于管理对象之间的关系...

    jfreeChart+ struts+数据库,柱形图开发,直接能用

    此外,项目可能使用了JDBC(Java Database Connectivity)来连接和操作数据库,通过PreparedStatement执行SQL查询,获取数据并传递给jfreeChart生成图表。 在部署时,确保已经正确安装了**myEclipse** 开发环境,这...

    jsp+sql2000+连接池+jfreechart-1.0.6图形控件

    JNDI-index.jsp: jsp+sql2000+连接池+jfreechart-1.0.6图形控件 &lt;br&gt; 有关连接池配置请下载我发的 mysql+连接池+JavaBean实现用户注册登陆系统

    java+sql 库存管理系统

    这些报告可能通过Java的图形库如JFreeChart生成,数据来源于SQL查询。 7. **数据访问层(DAO,Data Access Object)**:在Java中,DAO模式是处理数据库交互的一种常用方式。它封装了SQL查询,使得业务逻辑层与数据...

    JFreeChart相关资料

    文件夹 "JFreeChart中文API - 虚无的曾经 - JavaEye技术网站_files" 和 "jfreechart+sql实现时间曲线图(显示曲线数据点) - 抓虾_files" 及 "使用 JFreeChart来创建基于web的图表_files"、"jfreechart 中文api参考 -...

    投票系统struts2.0+hibernate3.2+spring2.5+sqlserver2005数据库,+JFReeChart饼图,柱状图显示。

    这是一个基于Java技术栈的投票系统实现,主要使用了Struts2.0作为MVC框架,Hibernate3.2作为持久层框架,Spring2.5作为应用上下文和依赖注入框架,以及SQL Server 2005作为后端数据库。此外,项目还引入了JFreeChart...

    jfreechart_jdbc_demo

    在JDBC方面,我们要知道如何建立数据库连接,执行SQL查询,并将结果集转换为可被JFreeChart使用的数据结构。首先,你需要导入JDBC驱动,如MySQL的`mysql-connector-java.jar`,然后通过`Class.forName()`加载驱动,...

    生成 JFreeChart 报表

    **生成 JFreeChart 报表** 在Java编程中,生成美观且功能丰富的...在这个Dome中,`CartDB.sql`和`ChartManager`可能分别代表了数据来源和报表生成与管理的实现,展示了如何在实际项目中应用JFreeChart进行报表开发。

    jfreechart使用SqlServer2000做的饼状图,柱状图,折线图

    在本项目中,开发者利用JFreeChart与SQL Server 2000数据库结合,实现了从数据库获取数据并生成可视化的图表。下面将详细介绍这个过程中的关键知识点。 首先,我们需要理解JFreeChart的基本使用。JFreeChart提供了...

    JAVA+SQL办公自动化系统(源代码++外文翻译).rar

    5. 报表统计:通过SQL查询生成各种业务报表,可能结合了JFreeChart或Apache POI等库来呈现数据。 6. 外文翻译部分:可能是为了帮助开发者理解源代码中的英文注释或外部引用的库,提供了对应的技术文档翻译,这对于...

    java+sql企业固定资产管理系统(论文+系统+开题报告+任务书+中期考核报告+任务书+评语表+答辩PPT).zip

    这需要设计相应的报表模块,可能运用到报表工具如JFreeChart或iText。 7. **开题报告与任务书**:开题报告是项目启动阶段的重要文档,通常包含项目背景、目标、技术路线和预期成果等内容。任务书则明确了项目具体的...

    java+sql企业固定资产管理系统(LW+系统+开题报告+任务书+中期考核报告+任务书+评语表+答辩PPT).rar

    7. **报表与图表**:系统可能包含各类报表和图表功能,用于展示固定资产的统计信息,如资产总额、部门资产分布等,这通常依赖于数据分析库如JFreeChart。 8. **开题报告与任务书**:这些文档详细阐述了项目的背景、...

    基于Java+JSP +SQL问卷调查系统毕业设计实现+源码毕业设计实现+源码.rar

    这可能需要使用到如JFreeChart这样的库来生成图表。 11. **部署与运行环境**: 该系统可能需要在如Tomcat这样的Java应用服务器上运行,并且需要一个支持JDBC的数据库服务器,如MySQL或Oracle。 以上就是基于Java、...

    投票系统 jsp+javabean+struts+jdbc+jfreechart

    这是个 jsp+javabean+struts+jdbc+jfreechart 完整的java 投票系统 项目源码 可以直接导入没有eclipse、myeclipse。内附数据库文件 mysql版,也可改成其它数据库, 换对应数据库连接驱动和修改sql语法即可

Global site tag (gtag.js) - Google Analytics