JFreeChart使用心得与例子

上传人:ren****ao 文档编号:131827864 上传时间:2022-08-07 格式:DOCX 页数:5 大小:15.86KB
收藏 版权申诉 举报 下载
JFreeChart使用心得与例子_第1页
第1页 / 共5页
JFreeChart使用心得与例子_第2页
第2页 / 共5页
JFreeChart使用心得与例子_第3页
第3页 / 共5页
资源描述:

《JFreeChart使用心得与例子》由会员分享,可在线阅读,更多相关《JFreeChart使用心得与例子(5页珍藏版)》请在装配图网上搜索。

1、第一章 jsp JFreeChart使用心得与例子一、JFreeChart的介绍与获取 JFreeChart开发包是一个开源的Java图形开发包,它从柱形图,饼形图,到雷达图,蜡烛图等等无所不包,可以在c/s,b/s,甚至是实时环境都能一显身手。当前的JFreeChart的最新版本为。可以到找到二、JFreeChart的基本使用不论创建的是什么图,JFreeChart都遵循以下的这个使用步骤:1、建立Dataset。所有的数据都存放在Dataset中的。(创建一个数据源(dataset)来包含将要在图形中显示的数据)2、建立JFreeChart。将dataset中的数据导入到JFreeChar

2、t中。(创建一个 JFreeChart 对象来代表要显示的图形 )3、设置JFreeChart的显示属性。这一步可以省略,使用默认的JFreeChart显示属性。3、渲染图表。即生成图片。4、页面图片显示。重要的类和接口: 所有数据源类都要实现的接口 由它来产生 JFreeChart 对象 所有对图形的调整都是通过它噢! 通过JFreeChart 对象获得它,然后再通过它对图形外部部分(例:坐标轴)调整注意:它有很多子类,一般都下涉及到它的子类! 通过JFreeChart 对象获得它,然后再通过它对图形内部部分(例:折线的类型)调整。同样,针对不同类型的报表图,它有着不同的子类实现!在下面我们

3、简称它为 Renderer三、JFreeChart使用的具体例子在web应用中的例子package ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;/* 曲线图的绘制*/public class LineXYChart/* 返回生成图片的文件名*

4、 param session* param pw* return 生成图片的文件名*/public String getLineXYChart(HttpSession session, PrintWriter pw)XYDataset dataset = this.createDateSet();/建立数据集String fileName = null;/建立JFreeChartJFreeChart chart = ChartFactory.createTimeSeriesChart(JFreeChart时间曲线序列图, / titleDate, / x-axis labelPrice, /

5、y-axis labeldataset, / datatrue, / create legend?true, / generate tooltips?false / generate URLs?);/设置JFreeChart的显示属性,对图形外部部分进行调整chart.setBackgroundPaint(Color.red);/设置曲线图背景色/设置字体大小,形状Font font = new Font(宋体, Font.BOLD, 16);TextTitle title = new TextTitle(JFreeChart时间曲线序列图, font);chart.setTitle(titl

6、e);/副标题TextTitle subtitle =new TextTitle(副标题, new Font(黑体, Font.BOLD, 12);chart.addSubtitle(subtitle);chart.setTitle(title); /标题/设置图示标题字符/TimeSeries s1 = new TimeSeries(历史曲线, Day.class);该中文字符LegendTitle legengTitle = chart.getLegend();legengTitle.setItemFont(font);XYPlot plot = (XYPlot) chart.getPlo

7、t();/获取图形的画布plot.setBackgroundPaint(Color.lightGray);/设置网格背景色plot.setDomainGridlinePaint(Color.green);/设置网格竖线(Domain轴)颜色plot.setRangeGridlinePaint(Color.white);/设置网格横线颜色plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0);/设置曲线图与xy轴的距离plot.setDomainCrosshairVisible(true);plot.setRangeCrosshair

8、Visible(true);XYItemRenderer r = plot.getRenderer();if (r instanceof XYLineAndShapeRenderer)XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r;renderer.setBaseShapesVisible(true);renderer.setBaseShapesFilled(true);renderer.setShapesVisible(true);/设置曲线是否显示数据点/设置Y轴NumberAxis numAxis = (Numbe

9、rAxis) plot.getRangeAxis();NumberFormat numFormater = NumberFormat.getNumberInstance();numFormater.setMinimumFractionDigits(2);numAxis.setNumberFormatOverride(numFormater);/设置提示信息StandardXYToolTipGenerator tipGenerator = new StandardXYToolTipGenerator(历史信息1 16:00,2), new SimpleDateFormat(MM-dd),numF

10、ormater);r.setToolTipGenerator(tipGenerator);/设置X轴(日期轴)DateAxis axis = (DateAxis) plot.getDomainAxis();axis.setDateFormatOverride(new SimpleDateFormat(MM-dd);ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection();tryfileName = ServletUtilities.saveChartAsPNG(chart, 500, 300,

11、 info,session);/生成图片/ Write the image map to the PrintWriterChartUtilities.writeImageMap(pw, fileName, info, false);catch (IOException e)e.printStackTrace();pw.flush();return fileName;/返回生成图片的文件名/* 建立生成图形所需的数据集* return 返回数据集*/private XYDataset createDateSet()TimeSeriesCollection dataset = new TimeSe

12、riesCollection();/时间曲线数据集合TimeSeries s1 = new TimeSeries(历史曲线, Day.class);/创建时间数据源,每一个/TimeSeries在图上是一条曲线/s1.add(new Day(day,month,year),value),添加数据点信息s1.add(new Day(1, 2, 2006), 123.51);s1.add(new Day(2, 2, 2006), 122.1);s1.add(new Day(3, 2, 2006), 120.86);s1.add(new Day(4, 2, 2006), 122.50);s1.add

13、(new Day(5, 2, 2006), 123.12);s1.add(new Day(6, 2, 2006), 123.9);s1.add(new Day(7, 2, 2006), 124.47);s1.add(new Day(8, 2, 2006), 124.08);s1.add(new Day(9, 2, 2006), 123.55);s1.add(new Day(10, 2, 2006), 122.53);dataset.addSeries(s1);dataset.setDomainIsPointsInTime(true);return dataset;在jsp文件中显示图片首先在Web应用程序部署文件web.xml中添加以下代码:DisplayChartorg.jfree.chart.servlet.DisplayChartDisplayChart/servlet/DisplayChart然后在jsp中显示图片完整的jsp文件: JFreeChart使用例子img src= width=500 height=300 border=0 usemap=

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!