图表篇——Xml To Chart (堆叠式柱状图3D)

    技术2022-05-20  57

    前言

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

    效果图

    XML定义说明

    与柱状图3D(多序列)、XML定义相似,展现时把多维数据的值进行累加,显示最大值、最小值标签。

     

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

    <ChartSettings type="Column3DS">

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

      <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>

        <!-- 数据分组字段 -->

        <Setting name="GroupByField">Name</Setting>

        <!-- 标签字段 -->

        <Setting name="LabelField">Subject</Setting>

        <!-- 数据值字段 -->

        <Setting name="ValueField">Value</Setting>

        <Setting name="SortExpression"><![CDATA[=Current()]]></Setting>

        <!-- 排序方向 -->

        <Setting name="SortDirection">ASC</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[=Current()]]></Setting>

        <!-- 画布 -->

        <!-- 画布宽度 -->

        <Setting name="CanvasWidth">400</Setting>

        <!-- 画布高度 -->

        <Setting name="CanvasHeight">260</Setting>

        <!-- 画布背景颜色 -->

        <Setting name="CanvasBackgroundColor">#DDE3D5</Setting>

        <!-- 画布背景透明度 -->

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

        <!-- 画布底栏颜色 -->

        <Setting name="CanvasBarColor">#ACBB99</Setting>

        <!-- 画布底栏透明度 -->

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

        <!-- 画布线条宽度 -->

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

        <!-- 画布线条颜色 -->

        <Setting name="CanvasLineColor">#ACBB99</Setting>

        <!-- 画布线条透明度 -->

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

        <!-- 轴名称文本颜色 -->

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

        <!-- 轴名称字体大小 -->

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

        <!-- 轴名称字体加粗 -->

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

        <!-- X轴名称 -->

        <Setting name="XAxisName">X</Setting>

        <!-- Y轴名称 -->

        <Setting name="YAxisName">Y</Setting>

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

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

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

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

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

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

        <!-- Y轴最大值 -->

        <Setting name="YAxisMaxValue">6000</Setting>

        <!-- Y轴最小值 -->

        <Setting name="YAxisMinValue">-3000</Setting>

        <!-- Y轴分割值 -->

        <Setting name="YAxisDivideValues">5000,-1000</Setting>

        <!-- Y轴标签表达式 -->

        <Setting name="YAxisLabelExpression"><![CDATA[=Current()]]></Setting>

        <!-- X轴标签表达式 -->

        <Setting name="XAxisLabelExpression"><![CDATA[=Current()]]></Setting>

        <!-- 柱形 -->

        <!-- 柱形宽度比 -->

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

        <!-- 柱形填充透明度 -->

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

        <!-- 柱形值表达式 -->

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

        <!-- 显示柱形标签 -->

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

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

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

        <!-- 柱形标签字体大小 -->

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

        <!-- 柱形标签字体加粗 -->

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

        <!-- 柱形标签表达式 -->

        <Setting name="ColumnLabelExpression"><![CDATA[=Current()]]></Setting>

      </Settings>

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

      <DataSource>

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

        <Serieses>

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

          <Series name="Name">

            <Value>1</Value>

            <Value>2</Value>

            <Value>3</Value>

            <Value>4</Value>

            <Value>1</Value>

            <Value>2</Value>

            <Value>3</Value>

            <Value>4</Value>

            <Value>1</Value>

            <Value>2</Value>

            <Value>3</Value>

            <Value>4</Value>

          </Series>

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

          <Series name="Subject">

            <Value>收入</Value>

            <Value>收入</Value>

            <Value>收入</Value>

            <Value>收入</Value>

            <Value>其他</Value>

            <Value>其他</Value>

            <Value>其他</Value>

            <Value>其他</Value>

            <Value>费用</Value>

            <Value>费用</Value>

            <Value>费用</Value>

            <Value>费用</Value>

          </Series>

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

          <Series name="Value">

            <Value>2023</Value>

            <Value>3570</Value>

            <Value>4898</Value>

            <Value>1563</Value>

            <Value>-324</Value>

            <Value>500</Value>

            <Value>104</Value>

            <Value>-345</Value>

            <Value>-730</Value>

            <Value>-995</Value>

            <Value>-660</Value>

            <Value>-655</Value>

          </Series>

        </Serieses>

      </DataSource>

    </ChartSettings>

     


    最新回复(0)