ChartDirector Ver 3.0 (Perl Edition)

Multi Radar Chart




This example demonstrates a radar chart with two layers and a number of chart formatting effects.

Source Code Listing

[File: perldemo/multiradar.pl] (The CGI version is available as "perldemo_cgi/multiradar.pl".)
#!/usr/bin/perl use perlchartdir; #The data for the chart my $data0 = [90, 60, 85, 75, 55]; my $data1 = [60, 80, 70, 80, 85]; #The labels for the chart my $labels = ["Speed", "Reliability", "Comfort", "Safety", "Efficiency"]; #Create a PolarChart object of size 480 x 380 pixels my $c = new PolarChart(480, 380); #Set background color to gold (goldGradient), with 1 pixel 3D border effect $c->setBackground($c->gradientColor($perlchartdir::goldGradient, 90, 2), $perlchartdir::Transparent, 1); #Add a title to the chart using 12 pts Arial Bold Italic font. The title text is #white (0xffffff) on a black background $c->addTitle("Space Travel Vehicles Compared", "arialbi.ttf", 12, 0xffffff )->setBackground(0x0); #Set center of plot area at (240, 210) with radius 150 pixels $c->setPlotArea(240, 210, 150); #Add a legend box at (5, 30) using 10 pts Arial Bold font. Set the background to #silver (silverGradient), with a black border, and 1 pixel 3D border effect. $c->addLegend(5, 30, 1, "arialbd.ttf", 10)->setBackground($c->gradientColor( $perlchartdir::silverGradient, 90, 0.5), 1, 1); #Add an area layer to the chart using semi-transparent blue (0x806666cc). Add a #blue (0x6666cc) line layer using the same data with 3 pixel line width to #highlight the border of the area. $c->addAreaLayer($data0, 0x806666cc, "Ultra Speed"); $c->addLineLayer($data0, 0x6666cc)->setLineWidth(3); #Add an area layer to the chart using semi-transparent red (0x80cc6666). Add a #red (0xcc6666) line layer using the same data with 3 pixel line width to #highlight the border of the area. $c->addAreaLayer($data1, 0x80cc6666, "Super Economy"); $c->addLineLayer($data1, 0xcc6666)->setLineWidth(3); #Set the labels to the angular axis as spokes. $c->angularAxis()->setLabels($labels); #output the chart $c->makeChart("multiradar.png")