饼图是一种特殊的图形:变量会沿着一个圆以顺时针或逆时针方向作图,各个颜色不同的弧形表示不同变量相对于总数的比例。而PieChart构件是正是绘制饼图的构件。
表 33.52. 构件信息
| Component Type | org.operamasks.faces.graph.Chart |
| Component Family | org.operamasks.faces.graph.Chart |
| Renderer Type | org.operamasks.faces.graph.PieChart |
| Component Class | org.operamasks.faces.component.graph.UIChart |
| Renderer Class(HTML_BASIC) | org.operamasks.faces.render.graph.PieChartRenderer |
| Tag Class | org.operamasks.faces.webapp.graph.PieChartTag |
+java.lang.Object
++javax.faces.component.UIComponent
+++javax.faces.component.UIComponentBase
++++org.operamasks.faces.component.graph.UIChart
表 33.53. 属性
| backgroundAlpha | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Float) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据表背景的透明度,属性值是一个0到1之间的小数 | ||||
| backgroundColor | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定图片背景色 | ||||
| backgroundImage | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定生成图片时用于填充背景的图片URL | ||||
| backgroundImageAlpha | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Float) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定背景图的透明度,属性值是一个0到1之间的小数 | ||||
| backgroundImagePosition | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(org.operamasks.faces.component.graph.PositionType) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定背景图的位置,属性值必须是org.operamasks.faces.component.graph.PositionType类型的枚举值 | ||||
| binding | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | javax.el.ValueExpression(javax.faces.component.UIComponent) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个值表达式,用于把该组件链接到一个ManagedBean的某个属性。 | ||||
| bottomMargin | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Double) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据表与图片下边框之间的距离 | ||||
| colorPalette | 定义类 | |||
| 类型 | javax.el.ValueExpression(java.awt.Paint[]) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定一个实现了Paint接口的数组,而Paint接口定义Graphics2D是如何生成颜色样式的 | ||||
| drawItemLabel | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定是否显示数据值,默认值是false | ||||
| drawOutline | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定是否显示图例的图标边框,默认值是true | ||||
| effect3D | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据表是否以3D效果显示 | ||||
| foregroundAlpha | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Float) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据表前景的透明度,属性值是一个0到1之间的小数 | ||||
| height | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(int) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定生成图片的高度,默认值是370 | ||||
| id | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | java.lang.String | |||
| 是否必须 | 否 | 延时求值 | 否 | |
| 这个组件的组件标识符。这个值在最近的命名容器类型的父组件范围内,必须是唯一的。 | ||||
| init | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | java.lang.String | |||
| 是否必须 | 否 | 延时求值 | 否 | |
| 指定一个方法,在图片初始化的时候调用 | ||||
| itemLabelColor | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据值的颜色 | ||||
| itemLabelFont | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据值的字体 | ||||
| leftMargin | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Double) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据表与图片左边框之间的距离 | ||||
| orientation | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(org.operamasks.faces.component.graph.OrientationType) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据表区图形显示的方向。属性值必须是:Horizontal或Vertical | ||||
| outlineColor | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定图例的图标边框颜色 | ||||
| plotColor | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据表的背景色 | ||||
| plotImage | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据表的背景图片URL | ||||
| plotImageAlpha | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Float) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据表背景图片的透明度,属性值是一个0到1之间的小数 | ||||
| plotImagePosition | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(org.operamasks.faces.component.graph.PositionType) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据表背景图片的位置,属性值必须是org.operamasks.faces.component.graph.PositionType类型的枚举值 | ||||
| rendered | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | boolean(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个标志,指出该组件是否要在任何随后的form提交过程中被渲染或处理。 这个属性的缺省值是true。 | ||||
| rightMargin | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Double) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据表与图片右边框之间的距离 | ||||
| ring | 定义类 | |||
| 类型 | javax.el.ValueExpression(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定构件是否为环形图,默认值是false | ||||
| showItemTips | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定当鼠标悬停在数据表的区域时,是否显示与鼠标停留位置X轴对应的数据值 | ||||
| showLegend | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定图片是否显示图例,默认值是false | ||||
| startAngle | 定义类 | |||
| 类型 | javax.el.ValueExpression(java.lang.Double) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定构件的初始角度,默认值是90D | ||||
| style | 定义类 | |||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 构件渲染时应用到构件的CSS风格,对应于元素的style属性 | ||||
| styleClass | 定义类 | |||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 空格分隔的CSS风格类名列表,渲染时作为元素的"class"属性 | ||||
| title | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据表的标题 | ||||
| topMargin | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.Double) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据表与图片上边框之间的距离 | ||||
| width | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(int) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定生成图片的宽度,默认值是600 | ||||
| xAxisLabel | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定X轴标签的内容 | ||||
| yAxisLabel | 定义类 | org.operamasks.faces.component.graph.UIChart | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定Y轴标签的内容 | ||||
以下的例子介绍了g:pieChart标签常用方法。在这个例子中设置了两个PieChart构件,第一个构件以3D效果显示饼图,第二个构件则显示为平面环形图:
<!-- 3D 饼图 -->
<g:pieChart title="3D Pie Chart Demo" drawItemLabel="true"
showLegend="true" effect3D="true">
<g:dataSeries value="#{CategoryData}" var="x" rows="5">
<g:dataLabel value="#{x.label}" />
<g:dataItem legend="First" value="#{x.first}" />
</g:dataSeries>
</g:pieChart>
<!-- 平面环形图 -->
<g:pieChart title="Ring Chart Demo" drawItemLabel="true"
showLegend="true" ring="true">
<g:dataSeries value="#{CategoryData}" var="x" rows="5">
<g:dataLabel value="#{x.label}" />
<g:dataItem legend="First" value="#{x.first}" />
</g:dataSeries>
</g:pieChart>