ChartDirector Ver 3.0 (C++ Edition)

Pie Chart with Legend




This example demonstrates the following ChartDirector features:

Source Code Listing

[The following project is available in "cppdemo/legendpie".]
#include "chartdir.h" int main(int argc, char *argv[]) { //The data for the pie chart double data[] = {25, 18, 15, 12, 8, 30, 35}; //The labels for the pie chart const char *labels[] = {"Labor", "Licenses", "Taxes", "Legal", "Insurance", "Facilities", "Production"}; //Create a PieChart object of size 450 x 240 pixels PieChart *c = new PieChart(450, 240); //Set the center of the pie at (150, 100) and the radius to 80 pixels c->setPieSize(150, 100, 80); //Add a title at the bottom of the chart using Arial Bold Italic font c->addTitle(Bottom, "Project Cost Breakdown", "arialbi.ttf"); //Draw the pie in 3D c->set3D(); //add a legend box where the top left corner is at (330, 40) c->addLegend(330, 40); //modify the label format for the sectors to $nnnK (pp.pp%) c->setLabelFormat("{label} ${value}K\n({percent}%)"); //Set the pie data and the pie labels c->setData(DoubleArray(data, sizeof(data)/sizeof(*data)), StringArray( labels, sizeof(labels)/sizeof(*labels))); //Explode the 1st sector (index = 0) c->setExplode(0); //output the chart c->makeChart("legendpie.png"); //free up resources delete c; return 0; }