图表篇——Xml To Chart (饼图3D)

前言

一个实现Xml To Chart的图表引擎,通过Xml配置就能够呈现相应的图表。而且能够方便集成到所需的软件系统,例如,MyReport报表引擎

效果图

图表篇——Xml To Chart (饼图3D)

XML定义说明

<!-- 图表根节点。type属性:图表类型 -->

<ChartSettings type="Pie3D">

<!-- 名称,不影响报表显示 -->

<Name>饼图3D</Name>

<!-- 宽度 -->

<Width>400</Width>

<!-- 高度 -->

<Height>300</Height>

<!-- 左边距 -->

<PaddingLeft>8</PaddingLeft>

<!-- 右边距 -->

<PaddingRight>8</PaddingRight>

<!-- 上边距 -->

<PaddingTop>8</PaddingTop>

<!-- 下边距 -->

<PaddingBottom>8</PaddingBottom>

<!-- 内部子元件间距 -->

<Gap>2</Gap>

<!-- 前背景色 -->

<BeginBackgroundColor>#ffffff</BeginBackgroundColor>

<!-- 后背景色 -->

<EndBackgroundColor>#f1f1f1</EndBackgroundColor>

<!-- 边框颜色 -->

<BorderColor>#696969</BorderColor>

<!-- 显示标题 -->

<TitleVisible>true</TitleVisible>

<!-- 标题内容 -->

<Title>饼图3D主标题</Title>

<!-- 标题文本颜色 -->

<TitleTextColor>#000000</TitleTextColor>

<!-- 标题字体大小 -->

<TitleFontSize>16</TitleFontSize>

<!-- 标题字体加粗 -->

<TitleFontBold>true</TitleFontBold>

<!-- 显示副标题 -->

<SubtitleVisible>true</SubtitleVisible>

<!-- 副标题内容 -->

<Subtitle>副标题</Subtitle>

<!-- 副标题文本颜色 -->

<SubtitleTextColor>#000000</SubtitleTextColor>

<!-- 副标题字体大小 -->

<SubtitleFontSize>12</SubtitleFontSize>

<!-- 副标题字体加粗 -->

<SubtitleFontBold>false</SubtitleFontBold>

<!-- 设置 -->

<Settings>

<!-- 纵表变横表:数据行数等于KeyField所在的序列Value的个数 -->

<Setting name="KeyField">ID</Setting>

<!-- 纵表变横表:把序列组成横表,列名用','分割 -->

<Setting name="Fields">Name, Value</Setting>

<!-- 标签栏 -->

<!-- 显示标签栏 -->

<Setting name="LabelVisible">true</Setting>

<!-- 标签文本颜色 -->

<Setting name="LabelTextColor">#000000</Setting>

<!-- 标签题字体大小 -->

<Setting name="LabelFontSize">10</Setting>

<!-- 标签题字体加粗 -->

<Setting name="LabelFontBold">false</Setting>

<!-- 标签宽度 -->

<Setting name="LabelWidth">120</Setting>

<!-- 标签间距 -->

<Setting name="LabelGap">2</Setting>

<!-- 标签布局列数 -->

<Setting name="LabelColumn">3</Setting>

<!-- 标签内容表达式 -->

<Setting name="LabelExpression"><![CDATA[=Concat(Fields!Name.Value,Str(:),Fields!Value.Value)]]></Setting>

<!-- 饼图 -->

<!-- 饼图半径 -->

<Setting name="PieRadius">140</Setting>

<!-- 饼图Y轴比例:饼图Y轴半径 = PieRadius * PieYScale -->

<Setting name="PieYScale">0.5</Setting>

<!-- 饼图高度 -->

<Setting name="PieHeight">20</Setting>

<!-- 饼图边框宽度 -->

<Setting name="PieBorderThickness">1</Setting>

<!-- 饼图边框透明度 -->

<Setting name="PieBorderAlpha">0.4</Setting>

<!-- 饼图填充透明度 -->

<Setting name="PieFillAlpha">0.7</Setting>

<!-- 饼图角度值表达式 -->

<Setting name="PieValueExpression"><![CDATA[=Fields!Value.Value/Sum(Fields!Value.Value)]]></Setting>

<!-- 显示饼图标签 -->

<Setting name="PieLabelVisible">true</Setting>

<!-- 饼图标签文本颜色 -->

<Setting name="PieLabelTextColor">#000000</Setting>

<!-- 饼图标签题字体大小 -->

<Setting name="PieLabelFontSize">11</Setting>

<!-- 饼图标签题字体加粗 -->

<Setting name="PieLabelFontBold">false</Setting>

<!-- 饼图标签宽度 -->

<Setting name="PieLabelWidth">120</Setting>

<!-- 饼图标签与饼图的距离比例 -->

<Setting name="PieLabelDistanceScale">1.5</Setting>

<!-- 饼图标签内容表达式 -->

<Setting name="PieLabelExpression"><![CDATA[=Fields!Name.Value]]></Setting>

</Settings>

<!-- 图表数据源 -->

<DataSource>

<!-- 数据序列集合 -->

<Serieses>

<!-- 数据序列。name属性:序列名称;Value子节点:序列值 -->

<Series name="ID">

<Value>1</Value>

<Value>2</Value>

<Value>3</Value>

<Value>4</Value>

<Value>5</Value>

<Value>6</Value>

</Series>

<!-- 数据序列。name属性:序列名称;Value子节点:序列值 -->

<Series name="Name">

<Value>名称111</Value>

<Value>名称222</Value>

<Value>名称333</Value>

<Value>名称444</Value>

<Value>名称555</Value>

<Value>名称666</Value>

</Series>

<!-- 数据序列。name属性:序列名称;Value子节点:序列值 -->

<Series name="Value">

<Value>10.5</Value>

<Value>30</Value>

<Value>20.5</Value>

<Value>16</Value>

<Value>10.5</Value>

<Value>10.5</Value>

</Series>

</Serieses>

</DataSource>

</ChartSettings>