繁体   English   中英

BIRT:复杂折线图

[英]BIRT: complex line chart

我想画一个像这样的图表: 在此处输入图片说明

我使用肥皂服务作为数据源。 我打算使用数据结构。

<return>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>725072</powerValue>
           <xCategory>2015-12-10T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>679679</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-10T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>247</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-10T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>701065</powerValue>
           <xCategory>2015-12-11T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>653653</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-11T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>121</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-11T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>499024</powerValue>
           <xCategory>2015-12-12T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>477477</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-12T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>52</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-12T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>544024</powerValue>
           <xCategory>2015-12-13T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>522522</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-13T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>53</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-13T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>744066</powerValue>
           <xCategory>2015-12-14T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>699699</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-14T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>264</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-14T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>659054</powerValue>
           <xCategory>2015-12-15T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>614614</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-15T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>273</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-15T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>582055</powerValue>
           <xCategory>2015-12-16T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>534534</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-16T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>263</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-16T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>518052</powerValue>
           <xCategory>2015-12-17T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>473473</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-17T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>323</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-17T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>512031</powerValue>
           <xCategory>2015-12-18T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>476476</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-18T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>148</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-18T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>407020</powerValue>
           <xCategory>2015-12-19T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>383383</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-19T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>23</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-19T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>410020</powerValue>
           <xCategory>2015-12-20T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>386386</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-20T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>24</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-20T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>564054</powerValue>
           <xCategory>2015-12-21T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>508508</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-21T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>136</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-21T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>534062</powerValue>
           <xCategory>2015-12-22T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>492492</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-22T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>146</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-22T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>518065</powerValue>
           <xCategory>2015-12-23T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>473473</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-23T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>218</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-23T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>482021</powerValue>
           <xCategory>2015-12-24T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>450450</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-24T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>64</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-24T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>426018</powerValue>
           <xCategory>2015-12-25T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>402402</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-25T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>0</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-25T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>417019</powerValue>
           <xCategory>2015-12-26T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>394394</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-26T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>0</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-26T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>438020</powerValue>
           <xCategory>2015-12-27T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>415415</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-27T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>0</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-27T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>525022</powerValue>
           <xCategory>2015-12-28T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>496496</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-28T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>91</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-28T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>483023</powerValue>
           <xCategory>2015-12-29T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>457457</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-29T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>95</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-29T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>528024</powerValue>
           <xCategory>2015-12-30T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>499499</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-30T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>135</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-30T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <elecGroupName>Electricité</elecGroupName>
           <powerValue>460020</powerValue>
           <xCategory>2015-12-31T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>436436</capacityValue>
           <groupName>Eau</groupName>
           <xCategory>2015-12-31T00:00:00+07:00</xCategory>
        </labChartLst>
        <labChartLst>
           <capacityValue>14</capacityValue>
           <groupName>Gaz</groupName>
           <xCategory>2015-12-31T00:00:00+07:00</xCategory>
        </labChartLst>
     </return>

但是我无法将birt的图表模板配置为如上图所示。

由于有两个 Y 轴,您需要对度量进行非规范化。 如果您不能更改soap 服务,在BIRT 中执行此操作的一种简单方法是在数据集中创建三个计算列,每列代表一个度量:“水”、“气”、“电”。 例如,在您的示例中,“waterValue”表达式为:

row["groupName"]=="Eau"?row["capacityValue"]:0

所以我们最终得到这些新列:

在此处输入图片说明

最后:

  • 通过启用“辅助轴”选项创建标准折线图
  • 使用“elecValue”列将 serie 1 设置为第一个轴
  • 分别使用“gasValue”和“waterValue”列将 serie 2 和 3 设置为辅助轴

其余的工作只是装饰性的:您实际上可以准确地获得预期的输出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM