- 浏览: 701903 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (239)
- 系统架构设计 (16)
- java collection framework (2)
- java分布式 (4)
- java多线程 (0)
- 故障处理及调优 (16)
- 软件开发过程及管理 (28)
- OS (5)
- 常用算法 (3)
- design pattern (8)
- transaction (7)
- java apps (48)
- corejava (7)
- java and DB (10)
- cache (0)
- webservice (14)
- web前端 (25)
- 报表 (4)
- 日志系统设计 (3)
- Oracle (4)
- mysql (11)
- xml (11)
- 数据源配置管理 (3)
- 企业数据存储 (4)
- php (2)
- 测试 (1)
最新评论
-
orangebook:
对于初学者来说,这样编写可能会误导,理解更烦锁。
观察者模式(发布-订阅) -
liudajiang:
呵呵 startThreads(rand ...
实践缩小Java synchronized 粒度 -
zengwenbo5566:
谢谢博主,学习了
解决getOutputStream() has already been called for this response -
u011335423:
大神厉害啊 可以了
解决getOutputStream() has already been called for this response -
xiang37:
...
解决getOutputStream() has already been called for this response
这是我几年前做过的一个真实的小项目,结构和设计上可能不怎么样,仅供刚接触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; } }
发表评论
-
Http状态码及实例
2018-03-24 15:06 0HTTP常用状态码列表: ... -
java同步机制及synchronized关键字的应用2
2013-03-25 22:03 1564类定义: public class Test{ ... -
实践缩小Java synchronized 粒度
2013-03-07 22:09 2132项目需求: 产品需要监视不同种类的多个数据库,例如:多个 ... -
java同步机制及synchronized关键字的应用1
2013-03-05 23:04 998Java对多线程的支持与同步机制深受大家的喜爱,通过JMM ... -
Thread_管理异步、定时及周期性任务
2012-09-24 14:43 1314项目中有很多异步、定时及周期性任务的需求,其实现有一定的特点, ... -
Thread_跨节点集合查询
2012-09-18 16:56 1676项目中数据库进行了水平切分,为了处理跨节点集合查询,采用了多线 ... -
Thread_大批量数据的分页处理(生产者-消费者)
2012-09-17 13:30 1411java应用中通常会有处理大批量数据的场景,这里介绍一种分 ... -
Thread_wait、notify、notifyAll的使用方法
2012-09-17 11:19 6907wait()、notify()、notifyAll()是三个定 ... -
计算java对象占用的内存
2011-12-13 11:38 1081Java有一个很好的地方就是java的垃圾收集机制,这个机制集 ... -
java调用shell执行数据压缩
2011-07-18 17:44 1502项目需求: 将迁移来的数据文件进行压缩。要求压缩过程耗时尽量 ... -
quartz应用之一:创建、关闭定时任务
2011-07-18 17:15 3498项目需求: 数据迁移进程开始执行后,启动定时任务每隔30秒计 ... -
xtree应用实例
2011-03-11 18:02 1379最近项目中用到了构造树形目录的功能,简单了解了下dtree和x ... -
JDBC方式访问数据库
2011-01-10 13:48 14391、 JDBC是什么JDBC是Java数据库连接(Java ... -
应用系统中配置文件的应用场景及简要分析
2010-11-12 16:13 1223使用配置文件的有点不外乎两点: 1.提高系统的灵活性。 2 ... -
解决getOutputStream() has already been called for this response
2010-08-26 14:57 158669getOutputStream() has already b ... -
实战防止重复提交(token)应用思路及过程
2010-06-11 16:39 1628我这里只考虑了直接使用struts API的情况,使用自定义的 ... -
Struts国际化完整解决方案-支持多国语言
2010-06-11 16:38 2079在网上有很多有关Struts的中文解决方案,但是很多都说得很零 ... -
jsp查询条件的保留
2010-06-11 16:23 2803本文适合java web开发初学者参考。 统计系统或者 ... -
java日期计算
2010-05-26 14:45 1350Calendar类:一个抽像类,不能直接new 得到。 Cal ... -
mvc应用实例
2010-04-04 19:58 1004最近参与到一个行业数据处理的项目,我负责数据请求和订阅的功能, ...
相关推荐
2. **JFreeChart十分钟上手**:开始使用JFreeChart,首先需要引入相关依赖,然后创建一个`CategoryDataset`或`TimeSeriesCollection`来存储数据,接着创建对应的图表类型(如`JFreeChart chart = ChartFactory....
**JFreeChart:一个强大的Java图表库** JFreeChart是一个广泛使用的开源Java库,它提供了丰富的图表类型,如折线图、饼图、柱状图和堆栈柱状图等,用于数据可视化。这个库非常适合那些希望在Java应用程序中集成高...
《JFreeChart 1.0.19 实战探索:官方示例解析》 JFreeChart,一个在Java开发中广泛使用的开源图表库,为开发者提供了丰富的图表类型,包括折线图、柱状图、饼图、散点图等,是数据分析与可视化的重要工具。本文将...
《JFreeChart 1.0.9:源码解析与实战指南》 JFreeChart,一个强大的开源Java图表库,是开发复杂数据可视化应用的重要工具。版本1.0.9在提供丰富的图表类型和高度定制性方面表现出色,是许多Java开发者首选的图形...
3. **实战篇**:提供实际案例,指导如何在Swing应用、Web应用中集成JFreeChart,以及如何使用XML保存和加载图表配置。 通过学习《JFreeChart中文教程》和查阅中文API,开发者能够熟练掌握JFreeChart的使用,提升...
4. **参考案例研究**:学习其他开发者如何使用jFreeChart解决实际问题,可以提供宝贵的实战经验和灵感。 总之,jFreeChart是一个功能强大、高度可定制的Java图表库,它不仅能满足开发者对数据可视化的基本需求,还...
五、实战应用 1. Web应用:在Servlet或JSP中使用JFreeChart生成图表并返回给客户端,或者嵌入到HTML页面中。 2. 数据分析:结合数据库查询结果,生成统计图表,帮助分析数据。 3. 科研报告:在学术论文中使用...
《JFreeChart实战:全方位解析与应用》 JFreeChart是一款强大的开源Java图表库,它提供了丰富的图表类型,包括柱状图、折线图、饼图、散点图、甘特图、时间序列图等,适用于各种数据分析和可视化需求。在本项目中,...
**实战案例:TestJFreeChart** 在 "TestJFreeChart" 示例中,你可以看到如何构建一个简单的柱状图。首先,创建 `DefaultCategoryDataset` 并添加数据;然后,调用 `ChartFactory.createBarChart()` 创建图表;接着...
**实战案例** 在"aybook.cn_JFreeChart1.0.41225.pdf"这本书中,David Gilbert提供了许多示例代码,包括如何创建复杂图表和解决常见问题。例如,他可能演示了如何创建一个多系列的折线图,如何自定义饼图的切片标签...
### 五、实战应用 JFreeChart 在商业软件、大数据分析、学术研究等领域都有广泛应用。例如,在金融行业,它可以用于绘制股票价格走势;在教育领域,可以用于可视化教学数据;在科研项目中,可以清晰地展示实验结果...
《JFreeChart 开发文档:深入理解与实战指南》 JFreeChart 是一款强大的 Java 图形库,它为开发者提供了创建各种图表的功能,包括折线图、柱状图、饼图、散点图等。这款开源库在Java社区中广受欢迎,因其丰富的图表...
《JFreeChart实战演示》 JFreeChart是一款强大的Java图表库,它提供了丰富的图表类型,如柱状图、饼图、线形图、散点图等,广泛应用于数据分析和可视化项目中。本压缩包“jfreechart-demo”包含了JFreeChart的所有...
《JFreeChart 1.0.13:深入解析与实战指南》 JFreeChart 是一个流行的开源 Java 图形库,用于生成高质量的图表。它支持多种图表类型,包括折线图、柱状图、饼图、散点图、甘特图等,广泛应用于数据分析、报表制作...
**八、实战案例** 1. **销售报告**: 创建柱状图展示各产品线的销售额。 2. **股票分析**: 使用时间序列图追踪股票价格变化。 3. **用户统计**: 制作饼图展示不同用户群体的分布比例。 **九、JFreeChart与其他库的...
7. **实战项目**:通过实际项目示例,巩固所学知识,提升实战技能。 通过本教程的学习,你将能够熟练运用 JFreeChart 创建出专业且美观的报表,提升你的 Java 应用程序的用户体验。记得下载提供的视频教程资源,在...
《JFreeChart实战指南——深度解析与应用案例》 JFreeChart是一款强大的Java图表库,它为开发者提供了创建各种高质量图表的能力,包括折线图、柱状图、饼图、散点图等,广泛应用于数据分析、报表制作以及可视化界面...
10. **实战案例**:参考提供的博文链接(由于实际链接无法访问,这里仅作为示例),在阅读类似教程或博客时,注意跟随步骤实践,理解每个环节的作用,并逐步完成整合。 通过以上步骤,你可以成功地在Struts2应用中...
《JFreeChart实战:深入解析官网DEMO及源代码》 JFreeChart是一款强大的Java图表库,它提供了丰富的图表类型,如柱状图、饼图、线图、散点图等,广泛应用于数据分析、报告生成以及GUI应用中。本文将通过分析...