Flex 动态创建 多个曲线图/柱形图 ColumnSeries

简介:

Flex 动态创建多个曲线图/柱形图 ColumnSeries

 

获取数据后的回调函数

private function resultHandlerDay(event:ResultEvent):void {
   statisticCount = event.result.statistic.weekstatistic.length;
   var source:ArrayCollection = event.result.statistic.buildingtatistic;
   var seriesArr:Array = new Array();
   for(var i:Number = 0;i<source.length;i++){
     var columnSeries:ColumnSeries = new ColumnSeries();
                columnSeries.xField = "statday";
                columnSeries.yField = "pitchpower"+(i+1);
                columnSeries.displayName = source[i].buildingname;
                seriesArr.push(columnSeries);
   }
   if(statisticCount==null){
    myData=null;
   }else{
                columnCharts.series = seriesArr; 
                columnCharts.dataProvider = event.result.statistic.weekstatistic;
   }
  }

 

 

<mx:HTTPService id="myService" url="loaddata.action" method="GET" result="resultHandlerDay(event)">
 </mx:HTTPService>

<mx:Panel 
  title="能耗统计"
  width="643" height="462" fontSize="12" paddingTop="10" paddingBottom="0" paddingLeft="0" paddingRight="0"  layout="absolute"
  borderAlpha="1"
  id="panelid"
  borderThicknessBottom="0"
  borderThicknessLeft="0"
  borderThicknessRight="0"
  borderThicknessTop="0"
  horizontalGap="0"
  verticalGap="0"
  verticalAlign="top"
  titleStyleName="fileItemover" x="0" y="0">
  
  <mx:ViewStack id="myViewstack" width="643" height="422" borderStyle="solid" paddingTop="0" backgroundColor="white" x="0" y="10">
   <mx:VBox id="child1" height="411" width="632"  verticalAlign="middle">
     <mx:ColumnChart id="columnCharts" dataProvider="{myData}" showDataTips="true" columnWidthRatio="0.6" width="623" height="338">
      <mx:backgroundElements>
       <mx:GridLines>
        <mx:horizontalStroke>
         <mx:Stroke color="haloSilver" weight="0" />
        </mx:horizontalStroke>
       </mx:GridLines>
      </mx:backgroundElements>
      <mx:verticalAxis>
       <mx:LinearAxis id="la" baseAtZero="true" title="能耗(单位:万千瓦时)"/>
      </mx:verticalAxis>
      <mx:verticalAxisRenderers>
       <mx:AxisRenderer axis="{la}" canDropLabels="false" fontSize="12"/>
      </mx:verticalAxisRenderers>
      <mx:horizontalAxis>
       <mx:CategoryAxis id="ca" categoryField="statday" title="时间(单位:周)"/>
      </mx:horizontalAxis>
      <mx:horizontalAxisRenderers>
       <mx:AxisRenderer axis="{ca}" canDropLabels="false" fontSize="12"/>
      </mx:horizontalAxisRenderers>
      <mx:series>
       <mx:ColumnSeries  xField="statday"  yField="pitchpower1"  displayName="建筑" fontSize="12"  labelPosition="outside" id="changeOption1" showDataEffect="{interpolateIn}">
        <mx:fill>
         <mx:RadialGradient>
          <mx:entries>
           <mx:Array>
            <mx:GradientEntry color="haloBlue"
             ratio="0.0"
             alpha="1.0" />
           </mx:Array>
          </mx:entries>
         </mx:RadialGradient>
        </mx:fill>    
       </mx:ColumnSeries>
      </mx:series>
     </mx:ColumnChart>
     <mx:Legend horizontalGap="28" paddingLeft="150" id="legend" dataProvider="{columnCharts}" direction="horizontal" legendItemClass="BigFontLegendItem" width="621" height="32"/>
   </mx:VBox>
  </mx:ViewStack>
 </mx:Panel>

 

xml 数据源:

<statistic>

<weekstatistic>

<statday>11</statday>

<pitchpower1>11.11</pitchpower1>

<pitchpower2>11.11</pitchpower2>

</weekstatistic>

<weekstatistic>

<statday>22</statday>

<pitchpower1>22.22</pitchpower1>

<pitchpower2>11.11</pitchpower2>

</weekstatistic>

<buildingtatistic>

<buildingname>建筑一号</buildingname>

</buildingtatistic>

<buildingtatistic>

<buildingname>建筑2号</buildingname>

</buildingtatistic>

</statistic>

 

 

tags:Flex 动态创建多个曲线图/柱形图 ColumnSeries




      本文转自yjflinchong 51CTO博客,原文链接:http://blog.51cto.com/yjflinchong/1165112,如需转载请自行联系原作者


相关文章
|
3月前
|
设计模式 容器
13.HarmonyOS流式卡片列表实现指南:Flex多行布局详解
在现代移动应用开发中,流式卡片列表是一种常见且实用的UI设计模式。它能够自适应屏幕宽度,在有限空间内高效展示多个内容项。本教程将详细讲解如何使用HarmonyOS的ArkUI框架中的Flex组件实现一个灵活的流式卡片列表,重点关注多行布局与对齐策略的应用。
93 2
|
3月前
|
开发者 UED 容器
07.精通HarmonyOS Flex对齐:从基础到高级布局技巧(上)
在HarmonyOS Next的ArkUI框架中,Flex容器提供了强大而灵活的对齐系统,使开发者能够精确控制子元素在容器中的排列方式。掌握这些对齐技术,是构建专业级用户界面的关键。
114 0
|
3月前
|
UED 容器
5.HarmonyOS Next开发宝典:掌握Flex布局的艺术
Flex布局(弹性布局)是HarmonyOS Next中最强大的布局方式之一,它提供了一种更加高效、灵活的方式来对容器中的子元素进行排列、对齐和分配空间。无论是简单的居中显示,还是复杂的自适应界面,Flex布局都能轻松应对。
139 0
|
3月前
|
UED 容器
10.HarmonyOS Next布局进阶:嵌套Flex容器与空间分配策略
在HarmonyOS Next的ArkUI框架中,Flex布局是构建用户界面的核心技术之一。通过嵌套使用Flex容器,我们可以创建复杂而灵活的界面结构,满足各种应用场景的需求。本教程将深入探讨如何在HarmonyOS Next中使用嵌套Flex容器实现复杂布局,以及如何合理分配和控制空间。
101 0
|
6月前
|
开发者 容器
鸿蒙开发:弹性布局Flex
在实际的开发中,需要掌握主轴与交叉轴的关系、换行规则及子元素属性,同时注意性能与兼容性问题,还有一点,Flex组件在渲染时存在二次布局过程,因此在对性能有严格要求的场景下建议使用Column、Row代替。
168 10
鸿蒙开发:弹性布局Flex
|
12月前
|
开发者 容器
flex 布局属性在实际项目中的应用场景有哪些?
flex 布局属性在实际项目中的应用场景有哪些?
|
11月前
|
前端开发 容器
flex布局
【10月更文挑战第7天】
243 87
|
11月前
|
前端开发 UED 容器
使用 Flex 布局实现垂直居中效果
【10月更文挑战第7天】
1129 57
|
10月前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。