Existe-t-il un moyen de forcer Flex à dessiner PieChart vide lorsque toutes les données de la PieSeries sont égales à 0. Le résultat obtenu est juste un espace vide à l'endroit où ma carte est censée être .Diagramme à secteurs avec données vides
1
A
Répondre
0
Probablement pas exactement ce que vous voulez, mais l'exemple ci-dessous vous donnera un tableau orange vide, avec une entrée de légende unique étiquetée Empty (vous voulez probablement conserver la légende complète).
alt text http://img9.imageshack.us/img9/7205/emptypiechart.jpg
Désactiver les étiquettes et DataTip, et lorsque toutes les valeurs sont mises à zéro, exécutez une fonction pour modifier le fournisseur de données (le code ci-dessous peut être un peu d'aide)
<?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>
J'ai En plus, le remplissage est transparent pour qu'il y ait plus de «vide». Pas la solution la plus élégante mais elle doit le faire puisqu'il n'y en a pas d'autre. Merci. – 2DH
Qu'avez-vous fait pour rendre le remplissage transparent? – Ryan