开发者

Flex bar chart with Two Y axis

I am trying to create a bar char in action 3 script. But for some reason I am getting 2 y-axis and no x axis.

Can some one help spot the error. I have said "placement " bottom.

The chart creation method is "getBarChartData开发者_如何学C", this method when invoked creates a barchart and adds it to a canvas.

This section is visible completely and can be called on a button click.

For some reason, the CDATA section is interfering with the preview of the snippet.

The standalone code snippet is below.

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


try to add it with MXML like so:

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

This worked for me... Ladislav

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜