#include "chartdir.h"
void createChart(int img, const char *filename)
{
// The data for the chart
double data[] = {85, 156, 179.5, 211, 123};
const char *labels[] = {"Mon", "Tue", "Wed", "Thu", "Fri"};
// Create a XYChart object of size 270 x 270 pixels
XYChart *c = new XYChart(270, 270);
// Set the plot area at (40, 32) and of size 200 x 200 pixels
PlotArea *plotarea = c->setPlotArea(40, 32, 200, 200);
// Set the background style based on the input parameter
if (img == 0) {
// Has wallpaper image
c->setWallpaper("tile.gif");
} else if (img == 1) {
// Use a background image as the plot area background
plotarea->setBackground("bg.png");
} else if (img == 2) {
// Use white (0xffffff) and grey (0xe0e0e0) as two alternate plotarea
// background colors
plotarea->setBackground(0xffffff, 0xe0e0e0);
} else {
// Use a dark background palette
c->setColors(Chart::whiteOnBlackPalette);
}
// Set the labels on the x axis
c->xAxis()->setLabels(StringArray(labels, sizeof(labels)/sizeof(labels[0])));
// Add a color bar layer using the given data. Use a 1 pixel 3D border for the
// bars.
c->addBarLayer(DoubleArray(data, sizeof(data)/sizeof(data[0])), IntArray(0, 0)
)->setBorderColor(-1, 1);
// Output the chart
c->makeChart(filename);
//free up resources
delete c;
}
int main(int argc, char *argv[])
{
createChart(0, "background0.png");
createChart(1, "background1.png");
createChart(2, "background2.png");
createChart(3, "background3.png");
return 0;
} |