Cewolf生成图片和说明时,有两种方式,一种是以一幅图显示:
<cewolf:chart id="pieChart" title="Pie" type="pie">
<cewolf:gradientpaint>
<cewolf:point color="#FFFFFF" y="0" x="0"></cewolf:point>
<cewolf:point color="#DDDDFF" y="0" x="300"></cewolf:point>
</cewolf:gradientpaint>
<cewolf:data>
<cewolf:producer id="pieData"></cewolf:producer>
</cewolf:data>
</cewolf:chart>
<cewolf:img width="300" chartid="pieChart" renderer="/cewolf" height="300">
另外一种是分开显示
<cewolf:chart id="pieChart" title="Pie" type="pie" showlegend="false">
<cewolf:gradientpaint>
<cewolf:point color="#FFFFFF" y="0" x="0"></cewolf:point>
<cewolf:point color="#DDDDFF" y="0" x="300"></cewolf:point>
</cewolf:gradientpaint>
<cewolf:data>
<cewolf:producer id="pieData"></cewolf:producer>
</cewolf:data>
</cewolf:chart>
<cewolf:img width="300" chartid="pieChart" renderer="/cewolf" height="300">
<cewolf:legend id="pieChart" width="300" renderer="/cewolf" height="80"></cewolf:legend>
<cewolf:legend id="pieChart" width="300" renderer="/cewolf" height="80"></cewolf:legend>
其他说明:
//设置Legend的位置
//((JFreeChart) chart).getLegend().setPosition(RectangleEdge.RIGHT);
//设置最高的一个 Item 与图片顶端的距离
plot.getRangeAxis().setUpperMargin(0.15);
//设置最低的一个 Item 与图片底端的距离
plot.getRangeAxis().setLowerMargin(0.15);
//坐标轴字体
plot.getDomainAxis().setLabelFont(new Font("宋体", Font.PLAIN, 12));
//横轴每个分类的字体
plot.getDomainAxis().setTickLabelFont(new Font("宋体", Font.BOLD, 12));
if(labelPositionsUP_45)
plot.getDomainAxis().setCategoryLabelPositions(CategoryLabelPositions.UP_45);
//柱图列宽度((BarRenderer) plot.getRenderer()).setMaximumBarWidth(barWidth);
因为cewolf的tag中不能使用el,所以设置一个零时变量。
创建bean对象,用来修饰显示的图形。现在只支持pie和verticalBar3D的,分别是PieChartPostProcessor、CategoryChartPostProcessor。
通过cewolf tag显示图形
部系" yaxislabel="金额" legendanchor="west">
id:必须,在整个页面中唯一
type:显示图形的类型,现在一般使用pie、verticalBar3D
xaxislabel,yaxislabel:X、Y轴的标题,不是必须
legendanchor:小图标(分类)显示的位置
还有一个showlegend属性,默认为 true,设置为false时,不显示小图标(分类)
指定数据来源,这里指向变量dp。
使用processor,控制图形的显示效果。这里可以设置一些颜色之类的属性。
显示图形,chartid指先前指定的id,renderer一般相同,指的是生成图片路径。Width、height就是图片高度和宽度。
在饼图中JFreeChart默认只显示选项和数值,没有显示各项所占比例。由于手头没有1.0版的JFreeChart Developer Guide(这可是要钱的,后来想想即使有,也未必能找到关于百分比这方面的说明),再加上DEMO中的饼图都没有显示百分比,无法参考。后来在网上找到了一个老版本的例子,其中能显示百分比。它是通过在PiePlot中设置的:
PiePlot pie;
pie.setPercentFormatString("#,###0.0#%");
但1.0版本中根本就找不到setPercentFormatString这方法,JFreeChart各版本之间改动比较大,很难兼容。还好它是开源的,把它的源码都搜索了一遍,认真读了一些源码,终于理出了头绪。
原来在1.0.0-rc1版中显示百分比已经调整到StandardPieItemLabelGenerator构造函数中了,StandardPieItemLabelGenerator有三个构造函数。StandardPieItemLabelGenerator()不显示各项所占比例。另外两个可以显示比例。代码如下:
plot.setLabelGenerator(new StandardPieItemLabelGenerator(StandardPieItemLabelGenerator.DEFAULT_TOOLTIP_FORMAT));
//或者采用下面自定义样式显示,{0}表示选项,{1}表示数值,{2}表示所占比例
plot.setLegendLabelGenerator(new StandardPieItemLabelGenerator("{0}: ({1}M, {2})"));
默认显示百分比是取整的,如果要让百分比保留二位小数,可以用第三个构造函数:
plot.setLabelGenerator(new StandardPieItemLabelGenerator(“{0}={1}({2})”,
NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")));
分享到:
相关推荐
cewolf 帮助我们开发,给我们带来方便
包含 Cewolf web报表开发完整实例
这里主要详细讲述了cewolf的用法发发发发发发发发发发发发发法案
NULL 博文链接:https://ericfang.iteye.com/blog/255195
Cewolf可以在一个基于Servlet/JSP的Web应用程序内部使用,基于JFreechart的,利用JFreechart的绘制引擎的开源项目。以在Web页中嵌入各种复杂的图形图表(如,直方图、饼图、棒图等等)。它提供了一个功能完备的标签库来...
本文件是开发cewolf时需要的jar文件,解压文件、然后放入WEB-INF的lib下,就OK
常用jar都有,是用来做报表图形的必备架包
cewolf标签目前为止最新版,可以用于JFreeChart图形展示
Cewolf,能用于开发web工程的Servlet或JSP等,用于制作比较复杂的统计图表.它能够在写比较少的java代码的情况下,显示JSP页面,通过设置图的特征,象颜色,线条,图形,大小,比例等等.
cewolf-1.0-bundle-2 第三方生成图形 好东东
NULL 博文链接:https://canofy.iteye.com/blog/410099
j2ee技术结合web报表技术,使您 的web开发更加精彩,该实例展现了怎样在一个web程序开发中使用Cewolf 技术的实例, 想做这方面应用的朋友可以参考一下!!
flex实战报表:jFreeChart,cewolf,iText.doc
Cewolf是用于各种图表的标记库。 它使每个JSP都可以轻松地嵌入图表图像。 Servlet容器中运行的任何Web应用程序都可以使用它。 无需Java scriplet代码即可定义图表。
因为Cewolf的图表生成和渲染引擎实际是调用JFreeChart的图表生成及渲染引擎,因此本章将详尽讲解JFreeChart这个Web图表生成引擎的安装、配置及使用方法。在掌握JFreeChart之后,我们再讲解Cewolf的安装、配置及使用...
通过Java Applet、Jave Servelet、JSP、Java Bean以及借助开源软件JFreeChart及Cewolf动态图表生成引擎等多种方式开发Web动力图表,还详解了如何设计Web动态图表生成引擎,并将其封装成Java Bean,以达到高效、重复...