cewolfjfreechar学习笔记.docx
- 文档编号:4678533
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:20
- 大小:192.46KB
cewolfjfreechar学习笔记.docx
《cewolfjfreechar学习笔记.docx》由会员分享,可在线阅读,更多相关《cewolfjfreechar学习笔记.docx(20页珍藏版)》请在冰豆网上搜索。
cewolfjfreechar学习笔记
Cewolf学习
第一章Cewolf入门和环境的搭建
一.Cwwolf简介:
1.Cewolf是基于JFreechart的,利用JFreechart的绘制引擎,将最终的图片写入客户端.在服务器端不会创建任何文件.一切都是基于轻量级的会话对象和动态的数据分析的.
2.写在JSP页面中的Cewolf,能用于基于web工程的Servlet/JSP,来制作复杂的统计图表.它提供几乎图的所有特征,象颜色,线条,图形等等.所以能够在不写任何JAVA代码的情况下让JSP页面显示图表.
3.Cewolf有一个单例的servlet,这个servlet用来处理图的绘画和标签库时,用这个标签库将在JSP页面的图的定义转成HTMLimgtag,servlet按HTMLimgtag绘制想要的图片送给客户端.
4.它是开源的,运行在能编译servlet和servlet的容器中,图的类型非常丰富。
二.环境的搭建
1.下载我们需要的jar。
下载地址
结构如图所示:
2.将jar包下/Lib文件内容放在工程的/WEB-INF/lib下面,如下图:
(注意:
Mozilla浏览器需要/example目录下的overlib.js,放入webapps根目录下)
3.将cewolf.tld放到WEB-INF下面,当引用标签的时候,我们加载这个文件就ok.(在etc目录下面)。
4.在web.xml文件下配置servlet,如图:
第二章入门程序(简单例子)
一.只是简单的例子.
1.首先我们创建一个页面,页面很简单,引入cewolf标签就可以了,如下图:
看到上面的jsp文件之后,我们就知道我们要写一个javabean,名字叫XYCewolfBean,先介绍一下页面里面的标签都是什么意思.
1)Title是char的标题,xaxislabel是x轴显示的内容,yaxislabel是y轴显示的内容。
Id是char的标识,type是值char的类型。
2) data>指的是数据其中包括 producerid=”data”/>这里面的这个id的值就是我们上面写的那个javabean的对象的名字,这里我们声明它的id=“data”. 3) chartpostprocessorid="data"> chartpostprocessor>这个标签就是我们对默认生成的char不是很满意,需要我们对char进行一些修改来用的,同时也是要求我们在javabean的里面实现ChartPostProcessor,实现ChartPostProcessor方法,我们只要在这个方法里面来修改就可以了。 4) maptooltipgeneratorid="data"linkgeneratorid="data"/>前面的tooltipgeneratorid是鼠标放上去提示的一些信息,后者是鼠标点击上面的时候的链接。 也是和上面一样需要分别需要实现XXToolTipGenerator,XXLinkGenerator接口。 这样就使得我们的图变得丰富一些。 5) imgchartid="line"renderer="/cewolf"width="200"height="200">这里面的renderer是我们在web文件里面配置好的,servlet。 二.写好我的XYCewolfBean这个类。 方法的意思,里面已经标清楚了。 在构造Dataset的方法里面我们写入这些: 这样我们的简单例子就完成了。 请求页面就可以看见效果了。 第三章Cewolf的DataSet介绍 一个DatasetProducer需要实现3个方法,最重要的一个是produceDataset()方法,它实际上生成了一个用于画图的数据。 这个方法用一个map作参数,这个map由许多指定的JSP标签填充,这个一会再介绍。 在当前生数据成器确实生成数据对象后,方法hasExpired()被才被Cewolf框架调用。 当返回TRUE时,产生器将释放以前的数据。 Cewolf框架通过getProducerId()方法提生成的一个唯一ID来标识一个生成者。 2个具有相同ID生成实例将被认为时生成相同的数据。 下面是几种常用的DataSet。 一.DefaultCategoryDataset(jfreechar) 它对应的char类型: area,horizontalbar,horizontalbar3d,line,stackedarea,stackedhorizontalbar,stackedverticalbar,stackedverticalbar3d,verticalbar verticalbar3d.对应如下: 二.XYDataSet(jfreechar)它对应的char类型: timeseries,scatter,xy,areaxy 三.PieDataset它对应char的类型: pie,pie3D 四.ValueDataset对应的char类型: meter 五.WindDataset对应的char类型: wind 六.OHLCDataset对应的char类型: highlow(DefaultHighlowDataSet),candlestick 七.IntervalCategoryDatase对应的char类型: gantt 八.tooltips下有4个接口: CategoryToolTipGenerator,PieToolTipGenerator ToolTipGenerator,XYToolTipGenerator根据不同的DataSet来实现不同的接口。 以上都是接口,使用的时候可以查看jfreechar的API来定制自己的实现类。 org.jfree.chart.axis.XXXAxis: 用于处理图表的两个轴: 纵轴和横轴 org.jfree.chart.render.XXXRender: 负责如何显示一个图表对象 org.jfree.chart.urls.XXXURLGenerator: 用于生成Web图表中每个项目的鼠标点击链接 XXXXXToolTipGenerator: 用于生成图象的帮助提示,不同类型图表对应不同类型的工具提示类 第四章StandardLegend类-Jfreechar类方法 一.JFreeChart类 voidsetAntiAlias(booleanflag)字体模糊边界 voidsetBackgroundImage(Imageimage)背景图片 voidsetBackgroundImageAlignment(intalignment)背景图片对齐方式(参数常量在org.jfree.ui.Align类中定义) voidsetBackgroundImageAlpha(floatalpha)背景图片透明度(0.0~1.0) voidsetBackgroundPaint(Paintpaint)背景色 voidsetBorderPaint(Paintpaint)边界线条颜色 voidsetBorderStroke(Strokestroke)边界线条笔触 voidsetBorderVisible(booleanvisible)边界线条是否可见 二.TextTitle类 voidsetFont(Fontfont)标题字体 voidsetPaint(Paintpaint)标题字体颜色 voidsetText(Stringtext)标题内容 三.StandardLegend(Legend)类 voidsetBackgroundPaint(Paintpaint)图示背景色 voidsetTitle(Stringtitle)图示标题内容 voidsetTitleFont(Fontfont)图示标题字体 voidsetBoundingBoxArcWidth(intarcWidth)图示边界圆角宽 voidsetBoundingBoxArcHeight(intarcHeight)图示边界圆角高 voidsetOutlinePaint(Paintpaint)图示边界线条颜色 voidsetOutlineStroke(Strokestroke)图示边界线条笔触 voidsetDisplaySeriesLines(booleanflag)图示项是否显示横线(折线图有效) voidsetDisplaySeriesShapes(booleanflag)图示项是否显示形状(折线图有效) voidsetItemFont(Fontfont)图示项字体 voidsetItemPaint(Paintpaint)图示项字体颜色 voidsetAnchor(intanchor)图示在图表中的显示位置(参数常量在Legend类中定义) 第五章Axis类-Jfreechar类方法 一.Axis类 voidsetVisible(booleanflag)坐标轴是否可见 voidsetAxisLinePaint(Paintpaint)坐标轴线条颜色(3D轴无效) voidsetAxisLineStroke(Strokestroke)坐标轴线条笔触(3D轴无效) voidsetAxisLineVisible(booleanvisible)坐标轴线条是否可见(3D轴无效) voidsetFixedDimension(doubledimension)(用于复合表中对多坐标轴的设置) voidsetLabel(Stringlabel)坐标轴标题 voidsetLabelFont(Fontfont)坐标轴标题字体 voidsetLabelPaint(Paintpaint)坐标轴标题颜色 voidsetLabelAngle(doubleangle)`坐标轴标题旋转角度(纵坐标可以旋转) voidsetTickLabelFont(Fontfont)坐标轴标尺值字体 voidsetTickLabelPaint(Paintpaint)坐标轴标尺值颜色 voidsetTickLabelsVisible(booleanflag)坐标轴标尺值是否显示 voidsetTickMarkPaint(Paintpaint)坐标轴标尺颜色 voidsetTickMarkStroke(Strokestroke)坐标轴标尺笔触 voidsetTickMarksVisible(booleanflag)坐标轴标尺是否显示 二.ValueAxis(Axis)类 voidsetAutoRange(booleanauto)自动设置数据轴数据范围 voidsetAutoRangeMinimumSize(doublesize)自动设置数据轴数据范围时数据范围的最小跨度 voidsetAutoTickUnitSelection(booleanflag)数据轴的数据标签是否自动确定(默认为true) voidsetFixedAutoRange(doublelength)数据轴固定数据范围(设置100的话就是显示MAXVALUE到MAXVALUE-100那段数据范围) voidsetInverted(booleanflag)数据轴是否反向(默认为false) voidsetLowerMargin(doublemargin)数据轴下(左)边距 voidsetUpperMargin(doublemargin)数据轴上(右)边距 voidsetLowerBound(doublemin)数据轴上的显示最小值 voidsetUpperBound(doublemax)数据轴上的显示最大值 voidsetPositiveArrowVisible(booleanvisible)是否显示正向箭头(3D轴无效) voidsetNegativeArrowVisible(booleanvisible)是否显示反向箭头(3D轴无效) voidsetVerticalTickLabels(booleanflag)数据轴数据标签是否旋转到垂直 voidsetStandardTickUnits(TickUnitSourcesource)数据轴的数据标签(可以只显示整数标签,需要将AutoTickUnitSelection设false) 三.NumberAxis(ValueAxis)类 voidsetAutoRangeIncludesZero(booleanflag)是否强制在自动选择的数据范围中包含0 voidsetAutoRangeStickyZero(booleanflag)是否强制在整个数据轴中包含0,即使0不在数据范围中 voidsetNumberFormatOverride(NumberFormatformatter)数据轴数据标签的显示格式 voidsetTickUnit(NumberTickUnitunit)数据轴的数据标签(需要将AutoTickUnitSelection设false) 四.DateAxis(ValueAxis)类: voidsetMaximumDate(DatemaximumDate)日期轴上的最小日期 voidsetMinimumDate(DateminimumDate)日期轴上的最大日期 voidsetRange(Datelower,Dateupper)日期轴范围 voidsetDateFormatOverride(DateFormatformatter)日期轴日期标签的显示格式 voidsetTickUnit(DateTickUnitunit)日期轴的日期标签(需要将AutoTickUnitSelection设false) voidsetTickMarkPosition(DateTickMarkPositionposition)日期标签位置(参数常量在org.jfree.chart.axis.DateTickMarkPosition类中定义) 五.CategoryAxis(Axis)类 voidsetCategoryMargin(doublemargin)分类轴边距 voidsetLowerMargin(doublemargin)分类轴下(左)边距 voidsetUpperMargin(doublemargin)分类轴上(右)边距 voidsetVerticalCategoryLabels(booleanflag)分类轴标题是否旋转到垂直 voidsetMaxCategoryLabelWidthRatio(floatratio)分类轴分类标签的最大宽度 第六章Plot类-Jfreechar类方法 一.Plot类 voidsetBackgroundImage(Imageimage)数据区的背景图片 voidsetBackgroundImageAlignment(intalignment)数据区的背景图片对齐方式(参数常量在org.jfree.ui.Align类中定义) voidsetBackgroundPaint(Paintpaint)数据区的背景图片背景色 voidsetBackgroundAlpha(floatalpha)数据区的背景透明度(0.0~1.0) voidsetForegroundAlpha(floatalpha)数据区的前景透明度(0.0~1.0) voidsetDataAreaRatio(doubleratio)数据区占整个图表区的百分比 voidsetOutLinePaint(Paintpaint)数据区的边界线条颜色 voidsetOutLineStroke(Strokestroke)数据区的边界线条笔触 voidsetNoDataMessage(Stringmessage)没有数据时显示的消息 voidsetNoDataMessageFont(Fontfont)没有数据时显示的消息字体 voidsetNoDataMessagePaint(Paintpaint)没有数据时显示的消息颜色 二.CategoryPlot(Plot)类 voidsetDataset(CategoryDatasetdataset)数据区的2维数据表 voidsetColumnRenderingOrder(SortOrderorder)数据分类的排序方式 voidsetAxisOffset(Spaceroffset)坐标轴到数据区的间距 voidsetOrientation(PlotOrientationorientation)数据区的方向(PlotOrientation.HORIZONTAL或PlotOrientation.VERTICAL) voidsetDomainAxis(CategoryAxisaxis)数据区的分类轴 voidsetDomainAxisLocation(AxisLocationlocation)分类轴的位置(参数常量在org.jfree.chart.axis.AxisLocation类中定义) voidsetDomainGridlinesVisible(booleanvisible)分类轴网格是否可见 voidsetDomainGridlinePaint(Paintpaint)分类轴网格线条颜色 voidsetDomainGridlineStroke(Strokestroke)分类轴网格线条笔触 voidsetRangeAxis(ValueAxisaxis)数据区的数据轴 voidsetRangeAxisLocation(AxisLocationlocation)数据轴的位置(参数常量在org.jfree.chart.axis.AxisLocation类中定义) voidsetRangeGridlinesVisible(booleanvisible)数据轴网格是否可见 voidsetRangeGridlinePaint(Paintpaint)数据轴网格线条颜色 voidsetRangeGridlineStroke(Strokestroke)数据轴网格线条笔触 voidsetRenderer(CategoryItemRendererrenderer)数据区的表示者(详见Renderer组) voidaddAnnotation(CategoryAnnotationannotation)给数据区加一个注释 voidaddRangeMarker(Markermarker,Layerlayer)给数据区加一个数值范围区域 三.PiePlot(Plot)类 voidsetDataset(PieDatasetdataset)数据区的1维数据表 voidsetIgnoreNullValues(booleanflag)忽略无值的分类 voidsetCircular(booleanflag)饼图是否一定是正圆 voidsetStartAngle(doubleangle)饼图的初始角度 voidsetDirection(Rotationdirection)饼图的旋转方向 voidsetExplodePercent(intsection,doublepercent)抽取的那块(1维数据表的分类下标)以及抽取出来的距离(0.0~1.0),3D饼图无效 voidsetLabelBackgroundPaint(Paintpaint)分类标签的底色 voidsetLabelFont(Fontfont)分类标签的字体 voidsetLabelPaint(Paintpaint)分类标签的字体颜色 voidsetLabelLinkMargin(doublemargin)分类标签与图的连接线边距 voidsetLabelLinkPaint(Paintpaint)分类标签与图的连接线颜色 voidsetLabelLinkStroke(Strokestroke)分类标签与图的连接线笔触 voidsetLabelOutlinePaint(Paintpaint)分类标签边框颜色 voidsetLabelOutlineStroke(Paintpaint)分类标签边框笔触 voidsetLabelShadowPaint(Paintpaint)分类标签阴影颜色 voidsetMaximumLabelWidth(doublewidth)分类标签的最大长度(0.0~1.0) voidsetPieIndex(intindex)饼图的索引(复合饼图中用到) voidsetSectionOutlinePaint(intsection,Paintpaint)指定分类饼的边框颜色 voidsetSectionOutlineStroke(intsection,Strokestroke)指定分类饼的边框笔触 voidsetSectionPaint(intsection,Paintpaint)指定分类饼的颜色 voidsetShadowPaint(Paintpaint)饼图的阴影颜色 voidsetShadowXOffset(doubleoffset)饼图的阴影相对图的水平偏移 voidsetShadowYOffset(doubleoffset)饼图的阴影相对图的垂直偏移 voidsetLabelGenerator(PieSectionLabelGeneratorgenerator)分类标签的格式,设置成null则整个标签包括连接线都不显示 voidsetToolTipGenerator(PieToolTipGeneratorgenerator)MAP中鼠标移上的显示格式 voidsetURLGenerator(PieURLGeneratorgenerator)MAP中钻取链接格式 四.PiePlot3D(PiePlot)类 voidsetDepthFactor(doublefactor)3D饼图的Z轴高度(0.0~1.0) 五.MultiplePiePlot(Plot)类: voidsetLimit(doublelimit)每个饼图之间的数据关联(详细比较复杂) voidsetPieChart(JFreeChartpieChart)每个饼图的显示方式(见JFreeChart类个PiePlot类) 第七章Renderer类-Jfreechar类方法 一.AbstractRenderer类 voidsetItemL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- cewolfjfreechar 学习 笔记