`
357029540
  • 浏览: 734971 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

JFreeChart中的折线图

    博客分类:
  • JAVA
 
阅读更多
在Servlet中的代码:

package com.lyb.pic;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.io.IOException;
import java.util.Date;

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.axis.CategoryAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
importorg.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 Line extends HttpServlet {

public void doGet(HttpServletRequestrequest,HttpServletResponse response) throws IOException {
  doPost(request,response);
}
public void doPost(HttpServletRequestrequest,HttpServletResponse response) throws IOException {
  //返回类型为图片类型
  response.setContentType("image/png");
  //设置返回字体
  response.setCharacterEncoding("utf-8");
  //获取数据对象
  CategoryDataset cd =getData();
  //创建图形对象
  JFreeChart jfc =ChartFactory.createLineChart("书籍组成变化", null, "组成量", cd,PlotOrientation.VERTICAL, true, true, false);
  //设置图例的字体显示,防止中文乱码
  jfc.getLegend().setItemFont(newFont("黑体", 0, 10));
  //设置标题并且设置其字体,防止中文乱码
  TextTitle textTitle = newTextTitle("书籍组成变化");
  textTitle.setFont(newFont("宋体", Font.BOLD, 12));
  jfc.setTitle(textTitle);
  //设置图表子标题
  jfc.addSubtitle(newTextTitle("按月份"));
  //创建一个标题对象,用于放置产生图形日前
  TextTitle tt = newTextTitle("日期:"+new Date());
  //设置该标题的字体,防止中文乱码
  tt.setFont(new Font("黑体", 0,10));
  //设置该标题的位置为产生的图形下面
  tt.setPosition(RectangleEdge.BOTTOM);
  //设置图片为右对齐
  tt.setHorizontalAlignment(HorizontalAlignment.RIGHT);
  //将该标题添加到图表
  jfc.addSubtitle(tt);
  //设置整个图表的背景色为绿色
  jfc.setBackgroundPaint(Color.green);
  //获取图表区域对象
  CategoryPlot cp =jfc.getCategoryPlot();
  //设置图表区域背景色
  cp.setBackgroundPaint(Color.white);
  //设置边线不可见
  cp.setRangeGridlinesVisible(false);
       //设置横轴的字体,防止中文乱码
       cp.getDomainAxis().setTickLabelFont(new Font("黑体", 0, 10));
       //设置竖轴的字体,防止中文乱码
       cp.getRangeAxis().setLabelFont(new Font("黑体", 0, 10));
  //获取显示线条的对象
  LineAndShapeRenderer lasp =(LineAndShapeRenderer)cp.getRenderer();
  //设置拐点是否可见/是否显示拐点
  lasp.setBaseShapesVisible(true);
  //设置拐点不同用不同的形状
  lasp.setDrawOutlines(true);
  //设置线条是否被显示填充颜色
  lasp.setUseFillPaint(true);
  //设置拐点颜色
  lasp.setBaseFillPaint(Color.yellow);
  // 设置折线加粗
  lasp.setSeriesStroke(0, newBasicStroke(3F));
  lasp.setSeriesOutlineStroke(0,new BasicStroke(2.0F));
  // 设置折线拐点
  lasp.setSeriesShape(0,newjava.awt.geom.Ellipse2D.Double(-5D, -5D, 10D, 10D));
 
  // 将图表已数据流的方式返回给客户端
  ChartUtilities.writeChartAsPNG(response.getOutputStream(),jfc,500, 270);
}

private static CategoryDataset getData() {
  DefaultCategoryDataset dcd =new DefaultCategoryDataset();
  for(int i = 1; i<= 12; i++) {
   dcd.addValue(DataUtils.getNumber(),"c++", i+"月");
   dcd.addValue(DataUtils.getNumber(),"java", i+"月");
   dcd.addValue(DataUtils.getNumber(),"动画", i+"月");
  }
  return dcd;
}
}

产生的假数据:

package com.lyb.pic;

import java.util.Random;

public class DataUtils {

private static Random random = newRandom();
private static final int NUMBER = 100;
public static int getNumber() {
  returnrandom.nextInt(NUMBER);
}
}

在xml中的代码:

<servlet>
   <servlet-name>line</servlet-name>
   <servlet-class>com.lyb.pic.Line</servlet-class>
</servlet>
<servlet-mapping>
   <servlet-name>line</servlet-name>
   <url-pattern>/line</url-pattern>
</servlet-mapping>
分享到:
评论

相关推荐

    jfreechart 生成折线图,饼图,柱状图,堆栈柱状图

    JFreeChart 是一个开源的Java库,用于生成高质量的2D图表,如折线图、饼图、柱状图和堆栈柱状图等。它广泛应用于数据分析、报告和应用程序中,提供丰富的自定义选项来满足各种视觉需求。在本项目中,你将找到能够...

    JSP利用JFreeChart生成折线图

    在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,而JFreeChart则是一个强大的Java图表库,能够帮助开发者生成各种复杂的图表,包括折线图。本教程将详细介绍如何在JSP中利用JFreeChart库来...

    java JXL导入导出Excel源码及jfreechart 生成折线图,饼图

    java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图

    jfreechart绘制折线图(平面和3D)

    在平面折线图中,x轴通常代表时间或其他独立变量,y轴则表示依赖于x轴的数值。 使用JFreeChart绘制平面折线图的步骤大致如下: 1. **创建Dataset**: 数据集是图表的数据来源,可以使用`XYSeries`类创建一个系列,...

    jfreechart 堆栈柱状图跟折线图结合拼接

    jfreechart 堆栈柱状图跟折线图结合拼接 jar包请戳http://download.csdn.net/detail/a156435646/7424707

    jfreechart折线图demo

    在这个“jfreechart折线图demo”中,我们将深入探讨如何使用 JFreeChart 创建和展示折线图。 1. **JFreeChart 概述** JFreeChart 提供了一套完整的 API,使得开发者可以方便地生成高质量的静态图表,并能轻松地将...

    jfreechart 生成折线图,饼图,柱状图,堆栈柱状图

    例如,makeLineAndShapeChart方法中,通过定义double类型的数据数组data来设定折线图中的数据点。这些数据点通过rowKeys和columnKeys对数据进行分类,其中rowKeys定义了数据的行标签,columnKeys定义了数据的列标签...

    jfreechart 漂亮的折线图

    利用jfreechart绘制的漂亮的折线图,实现双纵坐标,折线点标签还带箭头指示,非常直观,需要提前下载jfreechart.jar文件,否则我的类会报错,也即是要配置运行环境

    JFreeChart画折线实例

    在Java编程环境中,JFreeChart是一个非常流行的开源库,它为开发者提供了丰富的图表绘制功能,包括折线图、饼图、柱状图等。在这个"JFreeChart画折线实例"中,我们将深入探讨如何利用JFreeChart库来创建折线图,并将...

    java里用JFreeChart画柱状图、折线图、雷达图

    在Java编程环境中,JFreeChart库是一个强大的工具,用于创建各种复杂的图表,包括柱状图、折线图和雷达图。这些图表对于数据可视化和数据分析非常有用,可以帮助开发者直观地展示大量信息。以下是对给定文件中每个...

    JFreeChart实时折线图

    在本场景中,我们关注的是如何使用JFreeChart来实现实时更新的折线图。下面将详细介绍这个过程。 首先,JFreeChart的使用通常分为以下几个步骤: 1. **创建图表**: 首先,你需要创建一个`JFreeChart`对象。这可以...

    JFreeChart 折线、柱状组合图

    public JFreeChart createChart(String Ytitle, String title, CategoryDataset lineData, CategoryDataset barData) { //参考附件 return chart; } //struts 部分 &lt;!--begin 维优特例 --&gt; ...

    JFreeChart饼图、折线图等资料学习

    在JFreeChart中,你可以使用`XYDataset`接口存储x-y坐标对数据,然后通过`XYPlot`类来绘制折线图。可以调整线的颜色、样式,甚至添加填充区域以强调数据区间。此外,JFreeChart还支持曲线图、区域图等多种变形的折线...

    JFreeChart双Y轴折线图实例,可以直接运行

    JFreeChart双Y轴折线图实例,可以直接运行,实例类为LineChartDemo1.JAVA,有注释。 若想在web工程使用只需如下。 String filename = ServletUtilities.saveChartAsPNG(jfreechart, 600, 400, null, session); ...

    jfreechart 折线图 应用

    该程序为main 函数,定义了三个方法,分别是jfreechart三种实现折线图的类型,返回的是一个chart 本程序是把图片保存到本地,当然实际应用中,只要在程序和页面中做相关配置即可以使用。 因为图片带点透明,所以...

    jfreechart 折线图的一个例子

    在这个例子中,我们将深入探讨如何使用 JFreeChart 创建一个折线图。 首先,确保你已经正确地在项目中引入了 JFreeChart 的依赖。通常,你可以通过 Maven 或 Gradle 将 JFreeChart 添加到构建文件中。对于 Maven,...

    JFreeChart画图 饼状图 单组柱状图 多组柱状图 堆积柱状图 折线图

    JFreeChart 饼状图 柱状图 柱状图 堆积柱状图 折线图 这个是我特地开发的一个用JFreeChart开发的用来画图的项目,已经开发成形了各种项目的各种需求的项目,并且自己可以拓展,根据需求修改代码,完成项目的需要。 ...

    jfreechart_生成折线图,饼图,柱状图,堆栈柱状图

    JFreeChart是一款强大的开源Java图表库,它允许开发者在应用程序、报告或网页中生成各种高质量的图表,包括折线图、饼图、柱状图和堆栈柱状图等。这篇文档将详细介绍如何利用JFreeChart库来创建这些图表。 一、...

    JFreeChart做折线图.zip

    在本项目中,我们主要关注如何使用JFreeChart来生成基于JFrame的折线图。JFrame是Java Swing中的一个组件,常用来构建应用程序的主窗口。 首先,要使用JFreeChart,你需要在你的项目中引入它的依赖。这通常通过...

Global site tag (gtag.js) - Google Analytics