JFreeChart简单用法
| 需要用到的包 | jfreechart-0.9.20.jar,jcommon-0.9.5.jar |
| 创建一般步骤: | |
| 1.生成org.jfree.data.DefaultCategoryDataset对象,方法如下: DefaultCategoryDataset dataSet=new DefaultCategoryDataset(); //DefaultCategoryDataset参数说明,第一个参数:数量,对应纵坐标,第二个参数:类别,区分不同类别,第三个参数:横坐标 dataSet.addValue(100,"山东","苹果"); dataSet.addValue(200,"广州","菠萝"); dataSet.addValue(300,"海口","荔枝"); dataSet.addValue(400,"海南","椰子"); |
|
| 2.生成org.jfree.chart.JFreeChart对象,方法如下: JFreeChart chart = ChartFactory.createBarChart( "水果统计图", //柱状图标题 "品种", //横坐标说明 "产量", //纵坐标说明 dataSet, // 数据集,上一步生成的数据对象 PlotOrientation.VERTICAL, true, //是否有图例 true, //是否生成工具 false //是否有链接 ); |
|
| 3.设置org.jfree.chart.JFreeChart对象的各种属性,方法如下: //设置背景色 (1)chart.setBackgroundPaint(new Color(0xFFFFFF)); (2)设置图边框 CategoryPlot plot = chart.getCategoryPlot(); NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setStandardTickUnits(TickUnits.createIntegerTickUnits()); BarRenderer renderer = (BarRenderer) plot.getRenderer(); renderer.setDrawBarOutline(false); |
|
| 4.调用org.jfree.chart.servlet.ServletUtilities的静态方法 saveChartAsPNG(JFreeChart对象,宽度,高度,null,request.getSession())获得图片文件名(文件生成后放在tomcat的临时目录temp下),方法如下: String fileName=ServletUtilities.saveChartAsPNG(chart,600,350,null,request.getSession() |
|
| 5.把图片文件名传给servlet servlet/displaychart?filename=fileName,生成图片完整路径,方法如下: (1)如下方法配置web.xml里的servlet: <servlet> <servlet-name>displaychart</servlet-nam> <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class> </servlet> <servlet-mapping> <servlet-name>displaychart</servlet-name> <url-pattern>/servlet/displaychart</url-pattern> </servlet-mapping> (2)String chartURL=request.getContextPath() + "/servlet/displaychart?filename="+fileName; chartURL即是生成的图片文件完整路径,通过request返回页面,作为img的src即可显示出生成的柱状图 |
|
JFreeChart简单用法的更多相关文章
- CATransition(os开发之画面切换) 的简单用法
CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...
- jquery.validate.js 表单验证简单用法
引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...
- NSCharacterSet 简单用法
NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...
- [转]Valgrind简单用法
[转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...
- Oracle的substr函数简单用法
substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H' *从字符串第一个字符开始截取长度为1的字符串 subst ...
- Ext.Net学习笔记19:Ext.Net FormPanel 简单用法
Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...
- TransactionScope简单用法
记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...
- WPF之Treeview控件简单用法
TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...
- listActivity和ExpandableListActivity的简单用法
http://www.cnblogs.com/limingblogs/archive/2011/10/09/2204866.html 今天自己简单的总结了listActivity和Expandable ...
随机推荐
- memcached协议解析 及使用
本文转载自:http://www.ccvita.com/306.html 协议memcached 的客户端使用TCP链接与服务器通讯.(UDP接口也同样有效,参考后文的 “UDP协议” )一个运行中的 ...
- layuiAdmin 项目修改
layuiAdmin修改 index.js 修改登录url user/login=>publics/login config.js 修改 name 项目名称, tokenName token字段 ...
- python 类的装饰器
我们知道,在不改变原有代码的基础上,我们可以使用装饰器为函数添加新的功能.同理,一切皆对象,我们也可以使用装饰器为类添加类属性.what? def deco(obj): obj.x = 1 obj.y ...
- MySQL-----唯一索引
唯一索引: 单列唯一索引和联合唯一索引 索引是为了加速查找. 唯一索引是加了约束条件.例如主外键. 唯一索引的约束: 约束不能重复(可以为空) 主键不能重复(不能为空) 加速查找 create tab ...
- Unity 3D 使用TerrainCompose 调用RTP 报错:
Unity 3D:5.2 version TerrainCompose:1.92 version RTP:3.2d version Unity 3D 使用TerrainCompose 调用RTP 报 ...
- python接口测试之Http请求(三)
python的强大之处在于提供了很多的标准库,这些标准库可以直接调用,本节部分,重点学习和总结在 接口测试中Python的Http请求的库的学习. 首先来看httplib,官方的解释为:本模块定义了类 ...
- <转> 二分图多重匹配问题
在二分图最大匹配中,每个点(不管是X方点还是Y方点)最多只能和一条匹配边相关联,然而,我们经常遇到这种问题,即二分图匹配中一个点可以和多条匹配边相关联,但有上限,或者说,Li表示点i最多可以和多少条匹 ...
- [SCOI2008]奖励关 - 状压动规 - 概率与期望
Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝 ...
- tyvj1031 热浪
背景 USACO OCT09 9TH 描述 德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品.Farmer John此时以先 ...
- 使用XML定义组件样式
<TextView android:layout_width="match_parent" android:layout_height="wrap_content& ...