AS3 Basics : PieChart
Voici une nouvelle classe dans la categorie « as3 basics » qui permet de générer un camembert personnalisé.
Il suffit de passer en paramètre un tableau d’objet avec :
- pourcentage
- couleur
- rayon
- label
Aperçu :
Exemple d’utilisation :
//nouvelle instance
var pieChart:PieChart = new PieChart();
addChild(pieChart);
pieChart.x = 265;
pieChart.y = 225;
//datas
var _aDatas:Array = new Array();
_aDatas.push({radius:150, percent:5, color:0xb6b6b6, label:"5 %"});
_aDatas.push({radius:190, percent:20, color:0x999999, label:"20 %"});
_aDatas.push({radius:165, percent:20, color:0xcccccc, label:"20 %"});
_aDatas.push({radius:180, percent:20, color:0x666666, label:"20 %"});
_aDatas.push({radius:200, percent:35, color:0x67b9ff, label:"35 %"});
pieChart.setDatas(_aDatas);
//format du texte de label
var oFormat:TextFormat = new TextFormat();
oFormat.color = 0x000000;
oFormat.font = "Georgia";
oFormat.size = 12;
oFormat.italic = true;
pieChart.setTextFormat(oFormat);
//initialize et dessine le camembert
pieChart.initialize();
Exemple d’ajout d’évènements sur chaque part du camembert :
//evenements
private function setEvents():void
{
pieChart.enableEvents();
pieChart.addEventListener(pieChart.MOUSE_OVER,overHandler,false,0,true);
pieChart.addEventListener(pieChart.MOUSE_OUT,outHandler,false,0,true);
pieChart.addEventListener(pieChart.MOUSE_DOWN,downHandler,false,0,true);
}
private function overHandler(e:Event):void
{
var target:CustomCircle = e.target.target;
target.scaleX = target.scaleY = 1.1;
}
private function outHandler(e:Event):void
{
var target:CustomCircle = e.target.target;
target.scaleX = target.scaleY = 1;
}
private function downHandler(e:Event):void
{
var target:CustomCircle = e.target.target;
trace("CLIC SUR "+target.data.label)
}
Méthodes public :
- initialize()
- setTextFormat(textFormat:TextFormat)
- setDatas(aData:Array)
- enableEvents()
- desableEvents()
Téléchargement :
Téléchargez la source ici : PieChart v1 (121)

Twitter
Netvibes
[...] FSPieChart [...]
Salut, merci pour cette source. Juste géniale.
Je l’utilise pour faire des statistiques
Juste une petite « amélioration » possible : dans le fichier PieChart.as
Quand on déclare la variable « startDegree » -> var startDegree:Number = 0;
Si on laisse la variable en « Number », il se peut qu’a la fin de l’assemblage du cercle, on obtienne un espace blanc de quelques degrés lorsqu’on utilise beaucoup de données.
Il suffit de mettre cette variable en « Number » et notre graphique est presque parfait
Merci encore pour cette source.