`

WEB图表JFreeChart开发

阅读更多
最近的项目中需要用到web图表显示数据,自己研究了Java的开源图表JFreeChart开发,现在将把自己的总结分享给大家。

    JFreeChart是开放源代码站点SourceForge.net上的一个JAVA项目。它的功能十分强大,能创建饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等,并可生成PNG或JPG图片格式文件。

    1.下载最新版本的JFreeChart
     下载地址:http://www.jfree.org/jfreechart/index.html

开发步骤:

  1. 解压下载文件,将jfreechart-1.0.0-rc1/lib下的jcommon-1.0.0-rc1.jar,jfreechart-1.0.0-rc1.jar复制到WEB应用的lib目录下。
  2. 在web.xml文件中增加以下配置内容: 


<servlet>
        <servlet-name>DisplayChart</servlet-name>
        <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>DisplayChart</servlet-name>
        <url-pattern>/servletDisplayChart</url-pattern>
    </servlet-mapping>

3.开发页面:piechart.jsp

<%@ page contentType="text/html;charset=UTF-8"%>
<%@ page import="org.jfree.data.general.DefaultPieDataset"%>
<%@ page import="org.jfree.chart.*"%>
<%@ page import="org.jfree.chart.plot.*"%>
<%@ page import="org.jfree.chart.servlet.ServletUtilities"%>
<%@ page import="org.jfree.chart.labels.StandardPieToolTipGenerator"%>
<%@ page import="org.jfree.chart.labels.StandardPieSectionLabelGenerator"%>
<%@ page import="org.jfree.chart.urls.StandardPieURLGenerator"%>
<%@ page import="org.jfree.chart.entity.StandardEntityCollection"%>
<%@ page import="java.io.*"%>
<%@ page import="java.text.NumberFormat"%>
<%@ page import="java.text.DecimalFormat"%>
<%@page import="org.jfree.chart.labels.*"%>
<%@page import="org.jfree.chart.labels.StandardPieSectionLabelGenerator"%>
<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<TITLE></TITLE>
</HEAD>
<BODY>
<form action="planarformat.jsp" method="post">
  <<p><input type="submit" value="返回"></p>

</form>
     <%
    
  DefaultPieDataset data = new DefaultPieDataset();
  data.setValue("GIF",20);
  data.setValue("TIF",10);
  data.setValue("JPG",10);
  data.setValue("BMP",40);
  JFreeChart chart=ChartFactory.createPieChart("文件格式统计",data,true,true,true);
  PiePlot plot=(PiePlot)chart.getPlot();
  plot.setLabelGenerator(new StandardPieSectionLabelGenerator(     
                 "{0}={2}", NumberFormat.getNumberInstance(),     
                 new DecimalFormat("0.00%")));     
         // 图例显示百分比:自定义方式, {0} 表示选项, {1} 表示数值, {2} 表示所占比例 "{0}={1}({2})"    
     plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}"));    

  chart.setBorderVisible(true);
  chart.setBorderPaint(java.awt.Color.RED);
  response.setContentType("text/html;charset=UTF-8");
  request.setCharacterEncoding("UTF-8");
  ChartUtilities.writeChartAsPNG(response.getOutputStream(),chart,700,450);
  ChartUtilities.saveChartAsJPEG(new File("d:\\two.png"), chart,640,400);  //file save
  %>

</BODY>
</HTML>




=======================================================
barchart.jsp

<%@page import="demo.BarChart3DDemo3"%>
<%@page contentType="text/html;charset=UTF-8"%>
<%@page import="java.io.FileNotFoundException"%>
<%@page import="java.io.FileOutputStream"%>
<%@page import="java.io.IOException"%>
<%@page import="org.jfree.chart.ChartFactory"%>
<%@page import="org.jfree.chart.ChartUtilities"%>
<%@page import="org.jfree.chart.JFreeChart"%>
<%@page import="org.jfree.chart.plot.PlotOrientation"%>
<%@page import="org.jfree.data.category.CategoryDataset"%>
<%@page import="org.jfree.data.category.DefaultCategoryDataset"%>
<%@page import="java.awt.Color"%>
<%@page import="org.jfree.chart.renderer.category.BarRenderer3D"%>
<%@page import="org.jfree.chart.labels.StandardCategoryItemLabelGenerator"%>
<%@ page import="java.io.*"%>
<%@ page import="org.jfree.chart.*"%>
<%@ page import="org.jfree.chart.plot.*"%>

<%

  DefaultCategoryDataset dataset=new DefaultCategoryDataset();
  dataset.addValue(20,"GIF","GIF");
  dataset.addValue(10,"TIF","TIF");
  dataset.addValue(10,"JPG","JPG");
  dataset.addValue(40,"BMP","BMP");
 
  JFreeChart chart=ChartFactory.createBarChart3D("按文件格式统计","资源格式类别","总数",dataset,PlotOrientation.VERTICAL, true , false , false );
  chart.setBackgroundPaint(Color.WHITE);
  CategoryPlot plot=chart.getCategoryPlot();
  CategoryAxis domainAxis=plot.getDomainAxis();
  //domainAxis.setVerticalCategoryLabels( false );
  plot.setDomainAxis(domainAxis);
  BarRenderer3D renderer = (BarRenderer3D)plot.getRenderer();
  //设置 Wall 的颜色
  renderer.setWallPaint(Color.red);
  //设置格式代表的柱的颜色也就是rowkey所代表的柱的颜色
  renderer.setSeriesPaint(0, Color.RED);
  renderer.setSeriesPaint(1, new Color(0, 100, 255));
  renderer.setSeriesPaint(2, Color.GREEN);
  renderer.setSeriesPaint(3, Color.YELLOW);
  //设置每个平行柱的之间距离
  renderer.setItemMargin(0.05);
  //显示每个柱的数值,并修改该数值的字体属性
  renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
  renderer.setItemLabelPaint(Color.black);
  renderer.setItemLabelsVisible(true);
  plot.setRenderer(renderer);
 
  OutputStream stream=response.getOutputStream();
  ChartUtilities.writeChartAsPNG(response.getOutputStream(),chart, 640 , 400 );
  ChartUtilities.saveChartAsJPEG(new File("d:\\two.png"), chart,640,400);  //file save
  //ChartUtilities.writeChartAsJPEG(stream,chart, 640 , 400 );
  stream.flush();
  stream.close();
  out.clear();
  out = pageContext.pushBody();

%>


  • 大小: 22.3 KB
  • 大小: 25.3 KB
分享到:
评论

相关推荐

    JFreeChart -- web图表生成源码

    传统的一些以软件包形式发布应用程序例如报表系统等都在逐渐搬到因特网上。但是这两者之间有着天壤之别,虽然对于数据获取、业务处理等方面...因此我们下面将介绍一个JAVA的图表引擎JFreeChart用来产生基于WEB的图表。

    jfreechart的WEB图表开发_____个人测试

    NULL 博文链接:https://pointonline.iteye.com/blog/298256

    开放源代码作品与Web图表编程

    在Web图表开发领域也有两个主要的Web图表生成引擎——JFreeChart和Cewolf。它们都是开源作品,在Web图表引擎中占据了非常重要的位置。因为Cewolf的图表生成和渲染引擎实际是调用JFreeChart的图表生成及渲染引擎,...

    JFreeChart 开发文档汇总

    jfreechart-1.0.0-demo.jar jfreechart-1.0.0.zip JFreeChart-API.chm JFreeChart -- 柱状图.mht JfreeChart.doc JFreeChart0.9.16 ...使用 JFreeChart来创建基于web的图表_IBM.mht 使用JFreeChart创建图象http.mht

    基于jfreechart-1.0.6的WEB图表开发示例

    注:jfreechart的很多版本不兼容,请大家在运行此例时确认下载了对应的版本

    使用 JFreeChart来创建基于web的图表

    使用 JFreeChart来创建基于web的图表,包括饼图、折线图、柱形图、平面、立体的以及桌面应用的图标开发和WEB图表开发

    JFreechart-web图表书第一章

    本章主要介绍Java的历史及其运行机制、技术特点,讲解了各种Java开发环境的搭建,包括JDK的下载、安装和环境变量的设置,在EditPlus和...下面学习Java Applet的编写和调试,让我们一起进入Web图表编程的精彩世界!

    JFreechart-web图表书第4章

    应用服务器(Application Server)是运行Java企业组件的平台,在开发企业级的Web应用程序方面能提供更灵活强大的支持,构成应用软件的主要运行环境。当前主流的应用服务器是BEA公司的Weblogic Server和IBM公司的...

    Java Web开发实例大全

    Java Web开发实例大全(提高卷)筛选、汇集了Java Web开发从基础知识到高级应用各个层面的大量实例及源代码,共有600个左右,每个实例及源代码按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析...

    精通Java Web动态图表编程4

    向读者展示如何使用Java Applet、Java Servlet、Java Server Pages(JSP)、JavaBean以及开放源代码的Web图表生成引擎——JFreeChart和Cewolf来开发奇妙的Web动态图表应用程序——以一种跨平台、小巧、结构清晰的...

    精通Java Web动态图表编程

    本书不仅详述了如何利用Java对图形的处理能力,通过Java Applet、Jave Servelet、JSP、Java Bean以及借助开源软件JFreeChart及Cewolf动态图表生成引擎等多种方式开发Web动力图表,还详解了如何设计Web动态图表生成...

    jfreechart---lib.zip

    JFreeChart是完全基于Java语言的开源项目,因此可以使用在Java开发环境中,包括Java应用程序,或者是Java Web应用都没有任何问题。结合iText项目,可将生成的统计图表输出到PDF文件中;结合最新的POI项目,也可以将...

    jfreeChart

    jfreeChart支持web图表开发

    Java Web开发实例大全(基础卷) 完整pdf扫描版[179MB]

    Java Web开发实例大全(提高卷)筛选、汇集了Java Web开发从基础知识到高级应用各个层面的大量实例及源代码,共有600个左右,每个实例及源代码按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析...

    精通Java Web动态图表编程5

    继续发: 本书向读者展示如何使用Java Applet、Java Servlet、Java Server Pages(JSP)、JavaBean以及开放源代码的Web图表生成引擎——JFreeChart和Cewolf来开发奇妙的Web动态图表应用程序——以一种跨平台、小巧...

    JfreeChart 中文 API [收集整理的最全面]

    jfreechart-1.0.6的WEB图表开发 JfreeChart API浏览.doc 收集整理的最全面

    通Java Web动态图表编程

    \r\n 本书不仅详述了如何利用Java对图形的处理能力,通过Java Applet、Java Servlet、JSP、JavaBean以及借助开源软件JFreeChart及Cewolf动态图表生成引擎等多种方式开发Web动态图表,还详解了如何设计Web动态图表...

    精通Java Web动态图表编程3

    《精通Java Web动态图表编程》向读者展示如何使用Java Applet、Java Servlet、Java Server Pages(JSP)、JavaBean以及开放源代码的Web图表生成引擎——JFreeChart和Cewolf来开发奇妙的Web动态图表应用程序——以一...

Global site tag (gtag.js) - Google Analytics