【JFreeChart】JFreeChart—输出时序图
时序图(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—输出时序图相关推荐
- JFreeChart(八)之时序图
转载自 JFreeChart时序图 时序图表显示的数据点在相等的时间间隔序列变化.本章演示了如何从一个给定的业务数据使用JFreeChart,建立时序图. 业务数据 让我们考虑通过使用标准 Java ...
- Java通过JfreeChart生成转Base64图片字符串(饼图、折线图、柱状图、折线图-多条、3D柱状图、气泡图、时序图、曲线图、区域图、分布图、联合分类图、双X轴图、K线图、柱状图-横向等图)
工具类 CreatLineChart.java package DrawLine;import java.awt.BasicStroke; import java.awt.Color; import ...
- jfreechart的时序图(曲线图)运行时间长了就变的很卡
这几天项目里要用到一些图表,于是采用jfreechart来做这些时序图之类的东西.一切都很顺利,直到我忘了关程序去吃饭然后回来一看电脑卡得不行了,这才发现程序随着运行时间会占用越来越多的电脑资源.开始 ...
- 【JFreeChart】JFreeChart—输出区域图
区域图(Area Chart)与折线图类似,但其强调数据之间的变化幅度,能够直观的现实变化的区域. 实现代码: AreaChartServlet.java package com.lmb.jfreec ...
- 【JFreeChart】JFreeChart—输出折线图
实现代码: LineChartServlet.java package com.lmb.jfreechart;import java.awt.BasicStroke; import java.awt. ...
- java折线图_Java系列:JFreeChart在线制作折线图
一.概述: JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计.JFr ...
- JFreeChart应用实例-折线图
http://www.tuicool.com/articles/Nr2Yna JFreeChart在制作折线图的时候可以使用两种不同的方式 package Line;import java.awt.C ...
- java导出pdf报告之六:使用jfreechart生成饼状图和柱状图
关于使用jfreechart生成饼状图和柱状图网上也有一大推,我在这里也不做太多介绍,就直接附上我的实现,并添加了一下注释,供大家参考. 生成饼状图: /*** @param name 图片的名称* ...
- JfreeChart 生成图表-雷达图
1.雷达图 第一步:生成jfreechart DefaultCategoryDataset dataset = new DefaultCategoryDataset(); String group1 ...
最新文章
- 多巴胺:谷歌开源新型增强学习框架
- 整数除以JavaScript中的余数?
- vue - blog开发学习3
- java excel sheet页_Java导出Excel Sheet页
- fakeapp2.2.0下载_软件下载 | SuperCuger 测量平差系统 V1.0
- Api容器在应用架构演化中的用途
- 2017-2018-1 《信息安全系统设计基础》课程总结
- php中money用什么显示,如何使用PHP将十进制数转换为单词(money格式)?
- 自然语言处理相关知识的构成
- php开发oa系统的插件下载不了,什么是oa系统软件
- 华为新员工入职180天培训计划
- 单片机c语言中断嵌套,关于单片机中断嵌套总结
- oracle ^]字符,oracle 字符串操作
- MySQL数据库高级SQL语句【进阶查询、null值、数据库正则、数据库运算符、连接查询(内连接、左外连接、右外连接)】
- 【UEFI实战】EDK的编译流程说明
- 0685-6.2.0-什么是Cloudera虚拟私有集群和SDX-续
- STM32——中断优先级分组
- 【思考一】Android程序员想做手机游戏开发
- 基于RFID的智能仓库物流管理系统--仓库管理--新导智能
- 【如何3秒钟看出一个人的python实力|Python 数据分析打怪升级之路 day04】:手把手教你如何分析用户数据、数据分析基本概念