时序图(Time Series Chart)是按照时间轴显示的图形。通常可以按照年、月、日等时间周来显示。

实现代码:

TimeChartServlet.java

package com.lmb.jfreechart;import java.awt.BasicStroke;
import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.data.general.SeriesException;
import org.jfree.data.time.Day;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;public class TimeChartServlet extends HttpServlet {private static final long serialVersionUID = -2380167170122284327L;public TimeChartServlet() {super();}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 设置返回类型为图片response.setContentType("image/png");// 获取数据集对象XYDataset dataset = createDataset();// 创建图形对象JFreeChart jfreechart = ChartFactory.createTimeSeriesChart("时序图","POLO历史价格", "价格", dataset, false, false, false);XYPlot xyplot = (XYPlot) jfreechart.getPlot();//获得折线显示对象XYLineAndShapeRenderer xylineandshaperenderer = new XYLineAndShapeRenderer();//设置不显示折线xylineandshaperenderer.setBaseShapesVisible(false);//设置折线的粗细xylineandshaperenderer.setSeriesStroke(0, new BasicStroke(0.5F, 1, 1, 5F, new float[] { 5F, 10F }, 0.0F));xyplot.setRenderer(xylineandshaperenderer);// 将图表已数据流的方式返回给客户端ChartUtilities.writeChartAsPNG(response.getOutputStream(), jfreechart,500, 270);}/*** 返回数据集* * @return*/private static XYDataset createDataset() {//创建时序对象TimeSeries timeseries = new TimeSeries("JAVA");//初始化日期为1990年1月1日Day day = new Day(1, 1, 1990);double d = 100000D;//添加1000条数据for (int i = 0; i < 4000; i++)try {//随机取出100附近数d = (d + Math.random()) - 0.5D;//添加到时序对象timeseries.add(day, new Double(d));//之后的一天day = (Day) day.next();} catch (SeriesException seriesexception) {}//返回XYDataset数据集return new TimeSeriesCollection(timeseries);}
}

web.xml略。。。

总结:

1、利用XYDataset数据集绘制时序图,时序图的数据集可以通过TimeSeries对象设置;

2、对应创建时序图的方法是createTimeSeriesChart();

3、利用XYLineAndShapeRenderer对象设置绘制线条的显示方式。

【JFreeChart】JFreeChart—输出时序图相关推荐

  1. JFreeChart(八)之时序图

    转载自  JFreeChart时序图 时序图表显示的数据点在相等的时间间隔序列变化.本章演示了如何从一个给定的业务数据使用JFreeChart,建立时序图. 业务数据 让我们考虑通过使用标准 Java ...

  2. Java通过JfreeChart生成转Base64图片字符串(饼图、折线图、柱状图、折线图-多条、3D柱状图、气泡图、时序图、曲线图、区域图、分布图、联合分类图、双X轴图、K线图、柱状图-横向等图)

    工具类 CreatLineChart.java package DrawLine;import java.awt.BasicStroke; import java.awt.Color; import ...

  3. jfreechart的时序图(曲线图)运行时间长了就变的很卡

    这几天项目里要用到一些图表,于是采用jfreechart来做这些时序图之类的东西.一切都很顺利,直到我忘了关程序去吃饭然后回来一看电脑卡得不行了,这才发现程序随着运行时间会占用越来越多的电脑资源.开始 ...

  4. 【JFreeChart】JFreeChart—输出区域图

    区域图(Area Chart)与折线图类似,但其强调数据之间的变化幅度,能够直观的现实变化的区域. 实现代码: AreaChartServlet.java package com.lmb.jfreec ...

  5. 【JFreeChart】JFreeChart—输出折线图

    实现代码: LineChartServlet.java package com.lmb.jfreechart;import java.awt.BasicStroke; import java.awt. ...

  6. java折线图_Java系列:JFreeChart在线制作折线图

    一.概述: JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计.JFr ...

  7. JFreeChart应用实例-折线图

    http://www.tuicool.com/articles/Nr2Yna JFreeChart在制作折线图的时候可以使用两种不同的方式 package Line;import java.awt.C ...

  8. java导出pdf报告之六:使用jfreechart生成饼状图和柱状图

    关于使用jfreechart生成饼状图和柱状图网上也有一大推,我在这里也不做太多介绍,就直接附上我的实现,并添加了一下注释,供大家参考. 生成饼状图: /*** @param name 图片的名称* ...

  9. JfreeChart 生成图表-雷达图

    1.雷达图 第一步:生成jfreechart DefaultCategoryDataset dataset = new DefaultCategoryDataset(); String group1 ...

最新文章

  1. 多巴胺:谷歌开源新型增强学习框架
  2. 整数除以JavaScript中的余数?
  3. vue - blog开发学习3
  4. java excel sheet页_Java导出Excel Sheet页
  5. fakeapp2.2.0下载_软件下载 | SuperCuger 测量平差系统 V1.0
  6. Api容器在应用架构演化中的用途
  7. 2017-2018-1 《信息安全系统设计基础》课程总结
  8. php中money用什么显示,如何使用PHP将十进制数转换为单词(money格式)?
  9. 自然语言处理相关知识的构成
  10. php开发oa系统的插件下载不了,什么是oa系统软件
  11. 华为新员工入职180天培训计划
  12. 单片机c语言中断嵌套,关于单片机中断嵌套总结
  13. oracle ^]字符,oracle 字符串操作
  14. MySQL数据库高级SQL语句【进阶查询、null值、数据库正则、数据库运算符、连接查询(内连接、左外连接、右外连接)】
  15. 【UEFI实战】EDK的编译流程说明
  16. 0685-6.2.0-什么是Cloudera虚拟私有集群和SDX-续
  17. STM32——中断优先级分组
  18. 【思考一】Android程序员想做手机游戏开发
  19. 基于RFID的智能仓库物流管理系统--仓库管理--新导智能
  20. 【如何3秒钟看出一个人的python实力|Python 数据分析打怪升级之路 day04】:手把手教你如何分析用户数据、数据分析基本概念

热门文章

  1. asp.net中通过html格式导出excel文件
  2. winform dategridview 自动完成。
  3. Google今日更新PR值,帆船书会由1升到了3
  4. Android 顶部滑动切换实现(一)
  5. android contentDescription的使用
  6. CERT.RSA中证书的格式
  7. 【android】窗口管理
  8. WebKit DOM Event (二)
  9. verilog读写文件(整理)
  10. [转]25个增强iOS应用程序性能的提示和技巧