- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JFreeChart与JSP动态图表
JFreeChart与JSP动态图表
JFreeChart是一个Java开源项目,它提供了在Java Application、Servlet和JSP下生成各种图片格式的图表,包括柱形图、饼形图、线图、区域图、时序图和多轴图等
在web.xml文件中添加如下代码:
servlet
servlet-nameDisplayChart/servlet-name
servlet-classorg.jfree.chart.servlet.DisplayChart/servlet-class
/servlet
servlet-mapping
servlet-nameDisplayChart/servlet-name
url-pattern/servlet/DisplayChart/url-pattern
/servlet-mapping
这样,就可以利用JFreeChart插件生成动态统计图表了。利用JFreeChart插件生成动态统计图表的基本步骤如下:
创建绘图数据集合
创建JFreeChart实例
自定义图表绘制属性,该步可选
生成指定格式的图片,并返回图片名称
组织图片浏览路径
通过HTML中的img元素显示图片
JFreeChart核心类及其功能
类 名 功 能 JFreeChart 图表对象,生成任何类型的图表都要通过该对象,JFreeChart插件提供了一个工厂类ChartFactory,用来创建各种类型的图表对象 XXXDataset 数据集对象,用来保存绘制图表的数据,不同类型的图表对应着不同类型的数据集对象 XXXPlot 绘图区对象,如果需要自行定义绘图区的相关绘制属性,需要通过该对象进行设置 XXXAxis 坐标轴对象,用来定义坐标轴的绘制属性 XXXrenderer 图片渲染对象,用于渲染和显示图表 XXXURLGenerator 链接对象,用于生成Web图表中项目的鼠标单击链接 XXXToolTipGenerator 图表提示对象,用于生成图表提示信息,不同类型的图表对应着不同类型的图表提示对象
利用JFreeChart生成柱形图
绘图时需要用到的相关信息如下:
int width=500;
int height=375;
String chartTitle=编程类图书年销量柱形图分析;
String subtitle=----统计时间:2008年;
String xTitle=销售时间:2008年;
String yTitle=销售量 单位:万册;
String[] cutline=new String[]{ASP,JSP,PHP};
String[] category=new String[]{第1季度,第2季度,第3季度,第4季度};
Double[][] data=new Double[cutline.length][category.length];
for(int m=0;mcutline.length;m++)
for(int n=0;ncategory.length;n++)
data[m][n]=1+Math.random()*100;
String servletURI=/servlet/DisplayChart;Boolean legend 用于设定是否显示图例 Boolean tooltips 用于设定是否采用标准生成器 Boolean urls 用于设定是否包生成链接 工厂类ChartFactory中的方法返回值均为JFreeChart类的实例,通过返回的JFreeChart类的实例,可以设置绘图属性,也可以省略,直接生成图片,JFreeChart插件将采用默认的绘图属性进行绘制
可以通过JFreeChart实例设置整个图片的绘制属性,例如通过setBackgroundPaint(Paint paint)方法设置图片的背景色,入口参数可以是Color类的实例,也可以是GradientPaint类的实例,通过GradientPaint类的实例可以实现渐变的背景色效果
还可通过JFreeChart实例的getCategoryPlot()方法获得CategoryPlot类的实例,通过CategoryPlot类的实例可以设置绘图区的绘图属性,例如设置绘图区的背景色,标准线的绘制属性等。通过CategoryPlot实例的getRenderer()方法可以获得BarRenderer类的实例,通过BarRenderer类的实例可设置柱形的绘制属性,如是否绘制柱形的轮廓线,以及柱形的填充色等,通过BarRenderer实例的setSeriesPaint(int series,Paint paint)方法设置柱形的填
文档评论(0)