带有两个Y轴的Flex条形图

时间:2010-05-19 21:31:24

标签: flex actionscript-3 charts

我正在尝试在action 3脚本中创建一个bar char。 但由于某种原因,我得到2 y轴而没有x轴。

有人可以帮助发现错误。 我说“放置”底部。

图表创建方法是“getBarChartData”, 调用此方法时会创建条形图并将其添加到画布中。

此部分完全可见,可以通过单击按钮调用。

出于某种原因,CDATA部分干扰了片段的预览。

独立代码段如下所示。

  

[Bindable]
 public var QUANTITY:ArrayCollection = new ArrayCollection([
   {date:"22-Aug-05", quantity:1575.9},
   {date:"23-Aug-05", quantity:1603.},
   {date:"24-Aug-05", quantity:1507.1},
   {date:"25-Aug-05", quantity:1568.8},
]);

private function getBarChartData(evt:MouseEvent):void{

 var title:String = "ASDFZXCVB";


 var pnlChart:Panel = new Panel();
 pnlChart.title = title;
 pnlChart.height = 750;
 {
  var categoryAxisDate:CategoryAxis = new CategoryAxis();
  categoryAxisDate.categoryField = "date";

  var linearVolumeAxis:LinearAxis = new LinearAxis();
  linearVolumeAxis.minimum = 1500;
  linearVolumeAxis.maximum = 1700;

  var colChart:ColumnChart = new ColumnChart();
  colChart.showDataTips = true;
  {

   var horizontalAxisDateRenderer:AxisRenderer = new AxisRenderer();
   horizontalAxisDateRenderer.axis = categoryAxisDate;
   horizontalAxisDateRenderer.placement = "bottom";

   var quantityRenderer:AxisRenderer = new AxisRenderer();
   quantityRenderer.axis = linearVolumeAxis;
   quantityRenderer.placement = "left";


   colChart.horizontalAxisRenderers.push(horizontalAxisDateRenderer);

   colChart.verticalAxisRenderers.push(quantityRenderer);


   {
    var quantityColumnSeries:ColumnSeries = new ColumnSeries();
    quantityColumnSeries.horizontalAxis = categoryAxisDate;
    quantityColumnSeries.yField="quantity";
    quantityColumnSeries.displayName ="QUANTITY";
    quantityColumnSeries.dataProvider = QUANTITY;
    quantityColumnSeries.verticalAxis = linearVolumeAxis;

    colChart.series.push(quantityColumnSeries);


   }

  }

  pnlChart.addChild(colChart);
 }

 canvasReportId.addChild(pnlChart);
}

]]>  

                 

           <mx:Button label="Submit" click="getBarChartData(event)"  x="293" y="4"/>
          </mx:Canvas>

  

 

1 个答案:

答案 0 :(得分:0)

尝试使用MXML添加它:

<mx:ColumnChart id="chart" dataProvider="{QUANTITY}">
 <mx:horizontalAxis>
       <mx:CategoryAxis 
            dataProvider="{QUANTITY}" 
            categoryField="date"
        />
 </mx:horizontalAxis>
</mx:ColumnChart>

这对我有用...... 拉吉斯拉夫