`
wanchong998
  • 浏览: 236058 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

JFreeChart 饼型 柱状图 servlet输出 简单案例

阅读更多

//创建饼型servlet
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
/**  
  *   演示通过servlet直接输出图表  
  *   @author   Winter   Lau  
  */  
public   class   ChartDemoServlet   extends   HttpServlet   {  
 
public   void   service(ServletRequest   req,   ServletResponse   res)throws ServletException,   IOException{  
res.setContentType("image/jpeg");  
DefaultPieDataset   data   =   getDataSet();  
JFreeChart   chart   =   ChartFactory.createPieChart3D("水果产量图",  
data,  
true,  
false,  
false  
);  
 
ChartUtilities.writeChartAsJPEG(res.getOutputStream(),  
100,chart,400,300,null);  
}  
/**  
  *   获取一个演示用的简单数据集对象  
  *   @return  
  */  
private   static   DefaultPieDataset   getDataSet()   {  
DefaultPieDataset   dataset   =   new   DefaultPieDataset();  
dataset.setValue("苹果",100);  
dataset.setValue("梨子",200);  
dataset.setValue("葡萄",300);  
dataset.setValue("香蕉",400);  
dataset.setValue("荔枝",500);  
return   dataset;  
}  
}  

//创建柱型servlet
import java.io.IOException;
import java.io.PrintWriter;

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.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;

public class postservlet extends HttpServlet {

/**
* Constructor of the object.
*/
public postservlet() {
super();
}

/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}

/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("image/jpeg");  

CategoryDataset dataset = getDataSet2();
JFreeChart chart = ChartFactory.createBarChart3D(
"水果产量图", // 图表标题
"水果", // 目录轴的显示标签
"产量", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
); 
 
ChartUtilities.writeChartAsJPEG(response.getOutputStream(),  
100,chart,400,300,null);  
}  
/** * 获取一个演示用的组合数据集对象 * @return */
private static CategoryDataset getDataSet2() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(500, "北京", "苹果");
dataset.addValue(100, "上海", "苹果");
dataset.addValue(100, "广州", "苹果");
dataset.addValue(200, "北京", "梨子");
dataset.addValue(200, "上海", "梨子");
dataset.addValue(200, "广州", "梨子");
dataset.addValue(300, "北京", "葡萄");
dataset.addValue(300, "上海", "葡萄");
dataset.addValue(300, "广州", "葡萄");
dataset.addValue(400, "北京", "香蕉");
dataset.addValue(400, "上海", "香蕉");
dataset.addValue(400, "广州", "香蕉");
dataset.addValue(500, "北京", "荔枝");
dataset.addValue(500, "上海", "荔枝");
dataset.addValue(500, "广州", "荔枝");
dataset.addValue(320, "山东", "蔬菜");
return dataset;
}

/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}

/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}

}


//别忘记把3个jfreechart的jar包引入
//创建index.jsp演示
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">   
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
  </head>
 
  <body>
    This is my JSP page. <br>
    <img src="./ChartDemoServlet"/>
    <img src="./postservlet"/>
  </body>
</html>


  • 描述: 效果图
  • 大小: 971.9 KB
分享到:
评论
1 楼 afasdfasdf 2008-07-07  
这个就不必,jc自带的例子已经很全了。

相关推荐

    JFreeChart+JSP实现统计图展示

    **JFreeChart** 是一个强大的Java库,它提供了多种类型的图表,包括折线图、柱状图、饼图、散点图等,可用于创建高质量的静态和动态图形。在本项目中,JFreeChart被用来生成根据后台数据定制的统计图表,以便用户...

    JFreeChartDemo案例的源码

    JFreeChart 是一个流行的 Java 图形库,它提供了丰富的图表类型,如柱状图、饼图、线图、散点图等,用于生成高质量的静态图表以及动态和交互式的图表。在Java Web开发中,尤其是在Servlet环境下,JFreeChart 可以...

    jfreechart的封装用例

    JFreeChart 是一个强大的开源 Java 图形库,它提供了丰富的图表类型,如柱状图、饼状图、曲线图等,用于数据可视化。在给定的文件中,我们看到的是 JFreeChart 库经过封装后的类,以及一个用于测试的 Servlet。这样...

    FusionCharts and jfreechart动态生成图形案例

    其次,**jFreeChart** 是一个纯Java的图表库,它能够生成静态的二维图表,包括饼图、柱状图、线图、散点图等。jFreeChart适合在后端生成图像,然后传递到前端展示。在Java Web项目中,可以结合Servlet或JSP来实现...

    JFreeChart所有图形实例(Demo和源码).rar

    JFreeChart是一款强大的Java库,用于创建各种类型的2D图表,包括饼图、柱状图、线图、散点图、甘特图等。这个压缩包"JFreeChart所有图形实例(Demo和源码).rar"包含了JFreeChart库的各种图形实例,提供了丰富的示例...

    JFreeChart例子工程,web页面展示图片

    JFreeChart是一款开源的Java图表库,它提供了丰富的图表类型,包括柱状图、饼图、曲线图等,用于在Java应用程序和网页中展示数据。这个库的强大之处在于其灵活性和可定制性,允许开发者根据需求自定义图表样式,颜色...

    jfreechart案例

    JFreeChart是一个强大的Java库,用于创建各种图表,如饼图、柱状图、线图、散点图、甘特图等。它在IT行业中广泛应用于数据可视化,尤其是在需要将复杂的数据以图形化方式呈现的场景下。在这个“jfreechart案例”中,...

    jfreechart比较全的例子(eclipse项目)

    JFreeChart是一款强大的开源Java图表库,它提供了丰富的图表类型,包括柱状图、折线图、饼图、散点图、甘特图、时间序列图等,适用于各种数据分析和可视化需求。在本项目中,通过一个完整的Eclipse项目实例,我们将...

    JFreeChart 图形报表开发

    JFreeChart 是一个强大的Java库,用于生成高质量的2D图表,包括线图、柱状图、饼图、散点图、甘特图等多种类型的图表。它广泛应用于各种Java应用程序,如桌面应用、Web应用、服务器端应用等,特别是在数据可视化和...

    JfreeChart1.5.0

    - **3D 图表**:JFreeChart 支持 3D 效果,如 3D 柱状图和饼图,增加视觉吸引力。 - **交互式图表**:通过结合 JavaFX,可以创建响应用户交互的图表,如缩放、平移和鼠标悬停提示。 - **时间序列图表**:适用于...

    java报表jfreechart开发

    复合图允许在一个图表上同时显示两种不同类型的图表,例如折线图和柱状图的组合。 ##### 2.14 开发远景 随着技术的发展,JFreeChart也在不断进步。未来版本将会引入更多高级功能和改进现有特性,以满足日益增长的...

    JFreeChart使用文档

    下面通过一个具体的案例来介绍如何使用JFreeChart在JSP页面中生成柱状图。 1. **创建Web工程**:在 MyEclipse 中创建一个名为 `jfreechart` 的Web工程。 2. **添加JAR包**:将下载的 JFreeChart 1.0.6 版本 `lib` ...

    Java Web程序设计-1期 项目库_单元案例_图形处理教学案例.doc

    - JFreeChart是一个开源的Java图表库,支持多种图表类型(如线图、柱状图、饼图等),并且提供了丰富的定制选项。 - 它具有高度可配置性,可以自定义图表的颜色、样式等属性。 - 支持多种输出格式,如SVG、PNG、...

    jfreechart

    JFreeChart 是一个流行的开源 Java 图形库,它提供了丰富的图表类型,包括柱状图、折线图、饼图、散点图、甘特图以及更多其他类型的图表。这个库对于在 Java 应用程序中创建高质量的数据可视化非常有用,无论是用于...

    jFreeChart实例

    例如,一个简单的柱状图实例可能如下所示: ```java import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category....

    JfreeChart收藏全套实用资料

    它支持多种图表类型,包括柱状图、饼图、线图、散点图、甘特图以及复杂的金融图表等,广泛应用于报告、仪表盘和应用程序中。这个“JFreeChart 收藏全套实用资料”包含了一系列关于如何使用 JFreeChart 的资源,旨在...

    jfreechart-已打印出报表.rar

    首先,JFreeChart库提供了各种图表组件,如柱状图、饼图、线图、散点图等,可以满足我们展示不同类型数据的需求。在报表打印的场景中,我们通常会先根据业务需求选择合适的图表类型,然后利用JFreeChart提供的API...

    JFreeChart web报表开发实例

    JFreeChart库提供了丰富的图表类型,如柱状图、折线图、饼图、散点图、甘特图等,适用于数据分析、展示和报告。它支持自定义颜色、样式、标签,以及复杂的组合图表,使得开发者能够创建出满足各种需求的个性化图表。...

Global site tag (gtag.js) - Google Analytics