ChartDirector Ver 3.0 (C++ Edition)

Multi-Color Bar Chart




A multi-color bar chart is a bar chart in which each bar has a different color. This example creates a multi-color bar chart and demonstrates the following ChartDirector features:

Source Code Listing

[The following project is available in "cppdemo/colorbar".]
#include "chartdir.h" int main(int argc, char *argv[]) { //The data for the bar chart double data[] = {85, 156, 179.5, 211, 123}; //The labels for the bar chart const char *labels[] = {"Mon", "Tue", "Wed", "Thu", "Fri"}; //The colors for the bar chart int colors[] = {0xb8bc9c, 0xa0bdc4, 0x999966, 0x333366, 0xc3c3e6}; //Create a XYChart object of size 260 x 220 pixels XYChart *c = new XYChart(260, 220); //Set the background color of the chart to gold (goldGradient). Use a 2 //pixel 3D border. c->setBackground(c->gradientColor(goldGradient), -1, 2); //Add a title box using 10 point Arial Bold font. Set the background color //to blue metallic (blueMetalGradient). Use a 1 pixel 3D border. c->addTitle("Daily Network Load", "arialbd.ttf", 10)->setBackground( c->gradientColor(blueMetalGradient), -1, 1); //Set the plotarea at (40, 40) and of 200 x 150 pixels in size c->setPlotArea(40, 40, 200, 150); //Add a multi-color bar chart layer using the given data and colors. Use a 1 //pixel 3D border for the bars. c->addBarLayer(DoubleArray(data, sizeof(data)/sizeof(*data)), IntArray( colors, sizeof(colors)/sizeof(*colors)))->setBorderColor(-1, 1); //Set the x axis labels using the given labels c->xAxis()->setLabels(StringArray(labels, sizeof(labels)/sizeof(*labels))); //output the chart c->makeChart("colorbar.png"); //free up resources delete c; return 0; }