Круговая диаграмма с пустыми данными - PullRequest
1 голос
/ 05 августа 2010

Можно ли заставить Flex рисовать пустой PieChart, когда все данные в PieSeries равны 0. Результат, который я получаю сейчас, - это просто пустое место в том месте, где должен быть мой график.

1 Ответ

0 голосов
/ 05 августа 2010

Возможно, это не совсем то, что вам нужно, но приведенный ниже пример даст вам пустую оранжевую диаграмму с одной записью легенды, помеченной как пустая (вы, вероятно, хотите сохранить полную легенду).

альтернативный текст http://img9.imageshack.us/img9/7205/emptypiechart.jpg

Отключить метки и всплывающие подсказки, а когда все значения установлены на ноль, запустите функцию для изменения dataProvider (приведенный ниже код может помочь)1006 *

<?xml version="1.0"?>
<!-- charts/BasicPie.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
  <mx:Script><![CDATA[
     import mx.collections.ArrayCollection;
     [Bindable]
     public var expenses:ArrayCollection = new ArrayCollection([
        {Expense:"Taxes", Amount:1},
        {Expense:"Rent", Amount:2},
        {Expense:"Bills", Amount:3}
     ]);

     private function removeItems(event:Event):void{

        expenses.removeAll();
        expenses.addItem({Expense:"Empty", Amount:1});
        mySeries.setStyle("labelPosition", "false");
        myChart.showDataTips = false;

     }

  ]]></mx:Script>
  <mx:Panel title="Pie Chart" width="442" height="536">
     <mx:PieChart id="myChart" 
        dataProvider="{expenses}" 
        showDataTips="true"
        themeColor="#121212" alpha="1.0" width="100%" height="100%">
        <mx:series>
           <mx:PieSeries 
                id="mySeries"           
                field="Amount" 
                nameField="Expense" 
                labelPosition="callout"
           />
        </mx:series>
     </mx:PieChart>
     <mx:Button label="Remove items" click="removeItems(event)"/>
     <mx:Legend dataProvider="{myChart}"/>
  </mx:Panel>
</mx:Application>
...