实现代码:

LineChartServlet.java

package com.lmb.jfreechart;import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.io.IOException;
import java.util.Date;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.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.HorizontalAlignment;
import org.jfree.ui.RectangleEdge;public class LineChartServlet extends HttpServlet {private static final long serialVersionUID = 1585397081043433662L;public LineChartServlet() {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");// 获取数据集对象CategoryDataset dataset = createDataset();// 创建图形对象JFreeChart jfreechart = ChartFactory.createLineChart("08年图书销售量",null, "销售量", dataset, PlotOrientation.VERTICAL, false, true,false);// 设置图表的子标题jfreechart.addSubtitle(new TextTitle("按月份"));// 创建一个标题TextTitle texttitle = new TextTitle("日期: " + new Date());// 设置标题字体texttitle.setFont(new Font("黑体", 0, 10));// 设置标题向下对齐texttitle.setPosition(RectangleEdge.BOTTOM);// 设置标题向右对齐texttitle.setHorizontalAlignment(HorizontalAlignment.RIGHT);// 添加图表的子标题jfreechart.addSubtitle(texttitle);// 设置图表的背景色为白色jfreechart.setBackgroundPaint(Color.white);// 获得图表区域对象CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();categoryplot.setBackgroundPaint(Color.lightGray);categoryplot.setRangeGridlinesVisible(false);// 获显示线条对象LineAndShapeRenderer lineandshaperenderer = (LineAndShapeRenderer) categoryplot.getRenderer();lineandshaperenderer.setBaseShapesVisible(true);lineandshaperenderer.setDrawOutlines(true);lineandshaperenderer.setUseFillPaint(true);lineandshaperenderer.setBaseFillPaint(Color.white);// 设置折线加粗lineandshaperenderer.setSeriesStroke(0, new BasicStroke(3F));lineandshaperenderer.setSeriesOutlineStroke(0, new BasicStroke(2.0F));// 设置折线拐点lineandshaperenderer.setSeriesShape(0,new java.awt.geom.Ellipse2D.Double(-5D, -5D, 10D, 10D));// 将图表已数据流的方式返回给客户端ChartUtilities.writeChartAsPNG(response.getOutputStream(), jfreechart,500, 270);}/*** 返回数据集* * @return*/private static CategoryDataset createDataset() {DefaultCategoryDataset defaultdataset = new DefaultCategoryDataset();for (int i = 1; i <= 12; i++) {defaultdataset.addValue(DataUtils.getRandomData(), "JAVA", i + "月");defaultdataset.addValue(DataUtils.getRandomData(), "PHP", i + "月");}return defaultdataset;}}

web.xml略。。。

总结:

1、利用CategoryGataSet数据集绘制折线图;

2、对应创建折线图的方法是createLineChart();

3、通过TextTitle对象设置图表的子标题;

4、利用LineAndShapeRenderer线条对象,设置折线的显示方式。

【JFreeChart】JFreeChart—输出折线图相关推荐

  1. JFreeChart应用实例-折线图

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

  2. java + jfreechart + itextpdf创建折线图饼图并导出为pdf

    一.添加需要的maven依赖 <!--用于生成pdf--> <dependency><groupId>com.itextpdf</groupId>< ...

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

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

  4. JFreeChart在Struts2中实现3D折线图统计

    在Struts2中,用JFreeChart实现3D折线图统计 前段时间学习了一下JFreeChart,现在来整理一下自己所作的实例. 下面分别用两种方式来实现: 一种是以java应用程序的方式,一种是 ...

  5. java 生成趋势图_JFreeChart折线图的生成方法

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

  6. jfreechart折线图+柱状图、柱状图(堆叠)+折线图、饼状图、环形图

    记录jfreechart生成图片测试程,主要是为自己研究过之后的记录:) 折线图+柱状图 柱状图(堆叠)+折线图 获取饼状图 获取环形图 jar包下载地址:https://download.csdn. ...

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

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

  8. JFreeChart(使用一):生成折线图

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

  9. 报表应用系列——图表JFreeChart: 第 4 章 折线图

    双击代码全选 1 2 3 4 5 DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(100 ...

最新文章

  1. 锁的升级与synchronized锁的关系
  2. 谷歌宣布推出Dart编程新语言
  3. 工作在Amazon:为何晋升如此难?
  4. Hurst指数以及MF-DFA
  5. 小游戏_猜数_JAVA
  6. mysql_group by与聚合函数、order by联合使用
  7. (七)webStorage使用实例——webStorage作为简易数据库来使用
  8. 数据预处理-数据规约-属性规约
  9. MapReduce论文
  10. linux如何杀死进程最快,如何在Linux系统中杀掉内存消耗最大的进程?
  11. IOS-程序员和设计师必备的20个CSS工具
  12. C#图片处理之: 锐化
  13. HANA中SQL之truncate 、delete与drop区别
  14. Mysql 远程登陆配置
  15. Win7通过CMD命令开启无线热点
  16. 计算机用户名携带中文路径,Win10 User下的中文用户名改成英文路径操作方法
  17. skip gram模型的实现
  18. 中国程序员的真实工资亦或幸福指数
  19. 全面解析大数据解决方案的架构层
  20. UIPinchGestureRecognizer 放大、缩小手势

热门文章

  1. 去除win7桌面快捷方式小箭头
  2. 【性能优化】 之 10053 事件
  3. 有关 Conversion to Dalvik format failed with error 1
  4. android 调用系统播放器
  5. 从fragment开始向上查找实现了某个接口的parent Fragment 或者 Activity
  6. Java并发编程—Synchronized底层优化(偏向锁、轻量级锁)
  7. 浅谈:稀疏数组与二维数组之间的转换
  8. Django-启动文件的制作
  9. 【Selenium-WebDriver自学】Selenium测试设计技术(十三)
  10. FONT Awesome 图标