This example illustrates some of the background effects supported by ChartDirector.
ChartDirector supports the use of an image file as the wallpaper of the entire chart background and/or as the background of the plot area only. The former is by using
BaseChart.setWallpaper. The latter is by using the
PlotArea.setBackground2.
In addition to wallpapers, ChartDirector also supports different kinds of background colors. The plot area background can be alternately colored using
PlotArea.setBackground. You can also switch to a dark background with white lines and text in one step by changing the color palette to a
whiteOnBlackPalette using
BaseChart.setColors.
[File: perldemo/background.pl] (The CGI version is available as "perldemo_cgi/background.pl".)
#!/usr/bin/perl
use perlchartdir;
sub createChart
{
my $img = shift;
#The data for the chart
my $data = [85, 156, 179.5, 211, 123];
my $labels = ["Mon", "Tue", "Wed", "Thu", "Fri"];
#Create a XYChart object of size 270 x 270 pixels
my $c = new XYChart(270, 270);
#Set the plot area at (40, 32) and of size 200 x 200 pixels
my $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");
} elsif ($img == "1") {
#Use a background image as the plot area background
$plotarea->setBackground2("bg.png");
} elsif ($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($perlchartdir::whiteOnBlackPalette);
}
#Set the labels on the x axis
$c->xAxis()->setLabels($labels);
#Add a color bar layer using the given data. Use a 1 pixel 3D border for the
#bars.
$c->addBarLayer3($data)->setBorderColor(-1, 1);
#output the chart
$c->makeChart("background$img.png")
}
createChart(0);
createChart(1);
createChart(2);
createChart(3);
|
© 2003 Advanced Software Engineering Limited. All rights reserved.