`

实战jfreechart

阅读更多

这是我几年前做过的一个真实的小项目,结构和设计上可能不怎么样,仅供刚接触jfreechart的朋友参考。 

显示图表的jsp:

 

test.jsp

 

<%@ page language="java" contentType="image/png;charset=GB2312"
	import="org.jfree.chart.ChartFactory"
	import="org.jfree.chart.JFreeChart"
	import="org.jfree.chart.plot.PlotOrientation"
	import="org.jfree.data.category.DefaultCategoryDataset"
	import="org.jfree.chart.servlet.ServletUtilities"
	import="org.jfree.chart.ChartRenderingInfo"
	import="org.jfree.chart.entity.StandardEntityCollection"
	import="testsystem.dao.chart.DatasetFromBuglist"
%>

<%  
  int width=600;
  int height=375;

  JFreeChart chart = new DatasetDAO ().get3DChartFromBuglist();
  ChartRenderingInfo info = new ChartRenderingInfo(new  StandardEntityCollection());

  // 设置图表的格式及文件名
  String fileName = ServletUtilities.saveChartAsPNG(chart, width, height, info, session);

  // 设置图表浏览路径
  String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + fileName;
%>

<HTML>
 <HEAD>
       <TITLE></TITLE>
 </HEAD>
 <BODY>
       <P ALIGN="CENTER">
       <img src="<%=graphURL %>" border="1" alt="3d bar chart">
       </P>
 </BODY>
</HTML>

   

 

从数据库中检索要显示的数据:

 

public class DatasetDAO {

  public JFreeChart get3DChartFromBuglist() {
    return createChart(readData());
  }

  /**
   * get data from oracle database
   */
  public JDBCCategoryDataset readData() {
    JDBCCategoryDataset data = null;

    String dbUrl = "jdbc:oracle:thin:@localhost:1521:oradb";
    Connection conn;

    try {
      Class.forName("oracle.jdbc.driver.OracleDriver");
      System.out.println("loading oracle driver...!");

      conn = DriverManager.getConnection(dbUrl,"test","test");
      System.out.println("get Connection!");

      data = new JDBCCategoryDataset(conn);
      //SQL查询
	String sqlStr = “…”;	
      data.executeQuery(sqlStr);
      System.out.println("execute query!");

    } catch(ClassNotFoundException cnfe) {
      System.out.println("oracle driver can not be found!");
      System.out.println(cnfe.getMessage());

    } catch(SQLException sqle) {
      System.out.println("SQLException:");
      System.out.println(sqle.getMessage());

    } catch(Exception e) {
      System.out.println("Other Exception:");
      System.out.println(e.getMessage());
    }finally{
        conn.close();
    }

     return data;
  }

  public static JFreeChart createChart(CategoryDataset categorydataset) {
    JFreeChart jfreechart = ChartFactory.createBarChart3D(
      "各模块bug数量对比图",
      "当前版本中",
      "数量",
      categorydataset,
      PlotOrientation.VERTICAL,
      true,
      true,
      false
    );

    CategoryPlot categoryplot = jfreechart.getCategoryPlot();
    categoryplot.setForegroundAlpha(1.0F);
    CategoryAxis categoryaxis = categoryplot.getDomainAxis();
    CategoryLabelPositions categorylabelpositions = categoryaxis.getCategoryLabelPositions();
    CategoryLabelPosition categorylabelposition = new CategoryLabelPosition(RectangleAnchor.LEFT, TextBlockAnchor.CENTER_LEFT, TextAnchor.CENTER_LEFT, 0.0D, CategoryLabelWidthType.RANGE, 0.3F);
    categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.replaceLeftPosition(categorylabelpositions, categorylabelposition));

    //set the range axis to display integers only...
    final NumberAxis rangeAxis = (NumberAxis) categoryplot.getRangeAxis();
    rangeAxis.setRange(0,20);

    NumberTickUnit numberTickUnit = new NumberTickUnit(1, new DecimalFormat("0"));
    rangeAxis.setTickUnit(numberTickUnit);

    return jfreechart;
  }

}

 

2
0
分享到:
评论

相关推荐

    flex实战报表:jFreeChart,cewolf,iText.doc

    2. **JFreeChart十分钟上手**:开始使用JFreeChart,首先需要引入相关依赖,然后创建一个`CategoryDataset`或`TimeSeriesCollection`来存储数据,接着创建对应的图表类型(如`JFreeChart chart = ChartFactory....

    JfreeChart教程+API+例子

    **JFreeChart:一个强大的Java图表库** JFreeChart是一个广泛使用的开源Java库,它提供了丰富的图表类型,如折线图、饼图、柱状图和堆栈柱状图等,用于数据可视化。这个库非常适合那些希望在Java应用程序中集成高...

    jfreechart-1.0.19dome

    《JFreeChart 1.0.19 实战探索:官方示例解析》 JFreeChart,一个在Java开发中广泛使用的开源图表库,为开发者提供了丰富的图表类型,包括折线图、柱状图、饼图、散点图等,是数据分析与可视化的重要工具。本文将...

    jfreechart-1.0.9源码及例子

    《JFreeChart 1.0.9:源码解析与实战指南》 JFreeChart,一个强大的开源Java图表库,是开发复杂数据可视化应用的重要工具。版本1.0.9在提供丰富的图表类型和高度定制性方面表现出色,是许多Java开发者首选的图形...

    JfreeChart中文教程+中文API

    3. **实战篇**:提供实际案例,指导如何在Swing应用、Web应用中集成JFreeChart,以及如何使用XML保存和加载图表配置。 通过学习《JFreeChart中文教程》和查阅中文API,开发者能够熟练掌握JFreeChart的使用,提升...

    jfreechart 介绍

    4. **参考案例研究**:学习其他开发者如何使用jFreeChart解决实际问题,可以提供宝贵的实战经验和灵感。 总之,jFreeChart是一个功能强大、高度可定制的Java图表库,它不仅能满足开发者对数据可视化的基本需求,还...

    JFreeChart学习资料(精心收集)

    五、实战应用 1. Web应用:在Servlet或JSP中使用JFreeChart生成图表并返回给客户端,或者嵌入到HTML页面中。 2. 数据分析:结合数据库查询结果,生成统计图表,帮助分析数据。 3. 科研报告:在学术论文中使用...

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

    《JFreeChart实战:全方位解析与应用》 JFreeChart是一款强大的开源Java图表库,它提供了丰富的图表类型,包括柱状图、折线图、饼图、散点图、甘特图、时间序列图等,适用于各种数据分析和可视化需求。在本项目中,...

    JFreeChart 简单的例子用作入门

    **实战案例:TestJFreeChart** 在 "TestJFreeChart" 示例中,你可以看到如何构建一个简单的柱状图。首先,创建 `DefaultCategoryDataset` 并添加数据;然后,调用 `ChartFactory.createBarChart()` 创建图表;接着...

    JFreeChart开发指南(David Gilbert 英文版)

    **实战案例** 在"aybook.cn_JFreeChart1.0.41225.pdf"这本书中,David Gilbert提供了许多示例代码,包括如何创建复杂图表和解决常见问题。例如,他可能演示了如何创建一个多系列的折线图,如何自定义饼图的切片标签...

    jfreechart.pdf

    ### 五、实战应用 JFreeChart 在商业软件、大数据分析、学术研究等领域都有广泛应用。例如,在金融行业,它可以用于绘制股票价格走势;在教育领域,可以用于可视化教学数据;在科研项目中,可以清晰地展示实验结果...

    jfreechart开发文档(有完整的代码)

    《JFreeChart 开发文档:深入理解与实战指南》 JFreeChart 是一款强大的 Java 图形库,它为开发者提供了创建各种图表的功能,包括折线图、柱状图、饼图、散点图等。这款开源库在Java社区中广受欢迎,因其丰富的图表...

    jfreechart-demo

    《JFreeChart实战演示》 JFreeChart是一款强大的Java图表库,它提供了丰富的图表类型,如柱状图、饼图、线形图、散点图等,广泛应用于数据分析和可视化项目中。本压缩包“jfreechart-demo”包含了JFreeChart的所有...

    jfreechart-1.0.13 demo source code + Developer Guide

    《JFreeChart 1.0.13:深入解析与实战指南》 JFreeChart 是一个流行的开源 Java 图形库,用于生成高质量的图表。它支持多种图表类型,包括折线图、柱状图、饼图、散点图、甘特图等,广泛应用于数据分析、报表制作...

    JFreeChart学习文档

    **八、实战案例** 1. **销售报告**: 创建柱状图展示各产品线的销售额。 2. **股票分析**: 使用时间序列图追踪股票价格变化。 3. **用户统计**: 制作饼图展示不同用户群体的分布比例。 **九、JFreeChart与其他库的...

    Java报表之JFreeChart视频教程 java1234出品

    7. **实战项目**:通过实际项目示例,巩固所学知识,提升实战技能。 通过本教程的学习,你将能够熟练运用 JFreeChart 创建出专业且美观的报表,提升你的 Java 应用程序的用户体验。记得下载提供的视频教程资源,在...

    jfreechartdemo.rar

    《JFreeChart实战指南——深度解析与应用案例》 JFreeChart是一款强大的Java图表库,它为开发者提供了创建各种高质量图表的能力,包括折线图、柱状图、饼图、散点图等,广泛应用于数据分析、报表制作以及可视化界面...

    struts2与jfreechart整合

    10. **实战案例**:参考提供的博文链接(由于实际链接无法访问,这里仅作为示例),在阅读类似教程或博客时,注意跟随步骤实践,理解每个环节的作用,并逐步完成整合。 通过以上步骤,你可以成功地在Struts2应用中...

    jfreechartDEMO(官网demo与源代码)

    《JFreeChart实战:深入解析官网DEMO及源代码》 JFreeChart是一款强大的Java图表库,它提供了丰富的图表类型,如柱状图、饼图、线图、散点图等,广泛应用于数据分析、报告生成以及GUI应用中。本文将通过分析...

Global site tag (gtag.js) - Google Analytics