JFreeChart使用教程(中文).pdf

所需积分/C币:50 2013-10-30 17:08:59 6.35MB PDF
收藏 收藏
举报

JFreeChart是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,包括柱状图、饼图、曲线图、甘特图等。它能够 用在Swing和Web等中制作自定义的图表或报表,并且得到广泛的应用。本文将通过引领读者学习在 JFreeChart中饼图、柱状图和曲线图的进阶应用,来达到熟练使用JFreeChart的目的。 1. JFreeChart JFreeChart 是开放源代码的免费软件,但是它的支持文档需要付费才 能得到。其下载地址为: http://sourceforge.net/project/showfiles.php?g
% page content Type=text/html; charset=GBK % <%@ page import="org. ifree, chart. ChartFactory rg.jfree chart. JFreeChart urgjfree charl plot. PloLo rientation, org. ifree, chart, servlet. ServletUtilitie org. jfree data category. Default Category Dataset"%> <% DefaultCategory Dataset dataset new Default Category Dataset O dataset. addvalue(610,"广州","猪肉") dataset. addvalue(220,")州",“"牛肉") datase t. addvalue(530,"广州","鸡肉"); dataset. addvalue(340,"广州","鱼肉") JFreeChart chart= ChartFactory. createBarchart3D("肉类销量统计 图 肉类 销量 dataset PlotOrientat ion, VErtICAL false false false String filename= ServletUtilities save Char tAsPNG (chart, 50 0, 300, null, session) String graphURL request getContextPath(+"/Display Chart?fi lename=+ filename ‰> Kimg src=(w= graphurL %>width=500 height=300 border=0 usemap #<%=fi1 ename‰>" 在浏览器中输入地址:http://localhost:808o/ifreechart/bar/samplel sp,可看到如下柱状图: 肉类销量统计图 500 400 200 肉 牛肉 鸡肉 鱼肉 肉类 上面的这个柱状图比较简单,稍显单调,在有些情况下,我们需要用 不同颜色来表示不同的种类,或者在种类上标上具体数值,亦或需要 加上3D水晶效果。下面让我们来做更深一步的探讨。接下来让我们 看一个用不同颜色来表示不通种类的例子。在 Webroot的bar目录 下新建 samples2jsp页面,将其代码修改如下: <%@ page contentType="text/html; charset=GBK%> <%@ page import="org. jfree chart. ChartFactory rg. jfree chart. JFreeChart org, jfree, chart, plot. PlotOrientation org. jfree chart. servlet. ServletUtilities org. jfree data category. CategoryDataset org. jfree data general. DatasetUtilities%> <% 曰田 double [][]data= redouble[][]{1310},{720},{1130},{44 Stringl rowkeys=("猪肉","牛肉","鸡肉","鱼肉" tString[ columnKeys Category Dataset dataset= DatasetUtilities createCategoryDatas et(rowKeys, columnkeys, data) JFreeChart chart= ChartFactory. createBar Chart3D("广州肉类销量 统计图","肉类 销量 dataset PlotOrientat ion VERTICAL true false false String filename= ServletUtilities save Char tAsPNG (chart, 50 0.300, null, session String graphURL request getContextPath(+/Display Chart?f lename= t filename % Kimg src=<%- graphurL %>width=500 height=300 border=0 usemap #% filename %>" 该页面的运行效果如下图所示 广州肉类销量统计图 1250 1000 750 250 类 ■猪肉■牛因■鸡内口鱼 对比该例与前例,可看出 credleBdrchldrL3D的倒数第三个参数修改成 了tme,该参数可用来显示下方的:猫肉牛内鸡内内。上两例我们 显示的只是一个城市的肉类销量,有时候我们有对比显示多个城市的不同 肉类,只要将上例稍作修改即可。例如要在图中表示广州、深圳、东莞、 佛山四个城市的四个肉类的销售情况,只需要将如下三句稍做修改: aa doublet data newdouble[[[1310,720,[1130,[44 田 String[] rowKeys={"猪肉","牛肉","鸡肉","鱼肉" BuStringl columnkeys=1 例如修改成: 曰田 double data= redouble][」{1310,1220,1110,1000}, 白申 720,700,680,640} 白申 130,1020,980,800}, 440,400,360,300}; 日str1ng [] rowKeys={"猪肉","牛肉","鸡肉","鱼肉"} 日田 String [] columnkeys={"广州","深圳","东莞","佛山 在运行该sp页面,可看到如下界面 肉类销量统计图 1250 500 2501 广州 深 东菀 肉类 ■猪肉■牛肉■鸡肉口鱼肉 在上述几例中,在某个柱子上都没有显示相应的数值,下面让我们为 每个柱子都加上它的数值,我们新建一个 sample4jsp页面,其内容如下: <% page contentType="text/html; charset=GBK%> <% page import="org jfree chart. ChartFactory, org . jfree char t. Free Chart org jfree chart. plot. PlotOrientation org ] tree.c hart.servlet. ServletUtilities, org.jfree data category Category Dataset, org jfree data general Dataset Utilities org. jfree chart. plot. " org jfree chart. labels. * org jfree chart. renderer. category. BarRenderer3 D Java.awt兴 org. Jfreeul org. jfree chart. axis. AxisLocation9> <% E doubled data= newdouble[[ <1310, 1220, 1110, 10001 申{720,700,680,640}, 申{113o,1o20,98o,80o}, 中申{440,400,360,300} String囗 row Keys={"猪肉","牛肉","鸡肉","鱼肉"}; String[ columnKeys={"广州","深圳","东莞","佛山" CategoryDataset dataset= Dataset Utilities. create CategoryDataset(row Keys, columnKeys, data) J Free Chart chart= ChartFactory. create BarChart3DC肉类销量统计图 "肉类", "销量", dataset PlotOrientation VERTICAL true true, false); CategoryPlot plot= chart. get CategoryPlotO /设置网格背景颜色 plot set BackgroundPaint(Color. white) /设置网格竖线颜色 plot set Domain Gridline Paint( Color. pink) //设置网格横线颜色 plot set Range GridlinePaint(Color. pink) //显示每个柱的数值,并修改该数值的字体属性 BarRenderer3 D renderer= new BarRenderer3DO renderer. set BaseItemLabelGenerator(new StandardCategoryltemLabe GEnerator renderer. setBaseltemLabels Visible(true) //默认的数字显示在柱子中,通过如下两句可调整数字的显示 /注意:此句很关键,若无此句,那数字的显示会被覆盖,给人数字没 有显示出来的问题 renderer.setBasePositiveItem LabelPosition (new ItemLabelPosition(It emLabelAnchor. OUTSIDE12, TextAnchor BASELINE LEFT) renderer. setItemLabelAnchorOffset(ioD) //设置每个地区所包含的平行柱的之间距离 //renderer. setItemMargin(o 3); plot. setRenderer(renderer); //设置地区、销量的显示位置 /将下方的“肉类”放到上方 plot set Domain AxisLocation(Axis Location.TOPOR_ RIGHT); //将默认放在左边的“销量”放到右方 plot. setRangeAxisLocation(AxisLocation BOTTOM_OR_RIGHT) String filename ServletUtilities save ChartAsPNG(chart, 700, 400, nu ll, session) String graphURL request get ContextPatho+"/Display Chart?filena me="+filename, % <img src="<%=graphuRL %>width=700 height=400 border=o use

...展开详情
试读 27P JFreeChart使用教程(中文).pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
yunfengbaihe 什么破玩意.几个小例子而已
2017-10-27
回复
tree198933tree 好东西,非常感谢
2016-07-30
回复
魔法书 有用但用得不多了
2015-10-11
回复
S1t178 学习了,东西整体不错,可以参考.
2015-09-01
回复
LIWX988 东西整体不错,可以参考。
2015-03-11
回复
病毒先生 学习了,可是这次项目的静态文件居然已经写好 了,根本又不着我自己来写,我也是醉了
2015-01-22
回复
nyhyn 不错,做图表时可以参考一下
2015-01-06
回复
薄阳lau 很好 值得学习
2014-08-28
回复
上传资源赚积分or赚钱
最新推荐
JFreeChart使用教程(中文).pdf 50积分/C币 立即下载
1/27
JFreeChart使用教程(中文).pdf第1页
JFreeChart使用教程(中文).pdf第2页
JFreeChart使用教程(中文).pdf第3页
JFreeChart使用教程(中文).pdf第4页
JFreeChart使用教程(中文).pdf第5页
JFreeChart使用教程(中文).pdf第6页

试读结束, 可继续读3页

50积分/C币 立即下载 >