ChartDirector Ver 3.0 (Python Edition)

Multi Radar Chart




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

Source Code Listing

[File: pythondemo/multiradar.py] (The CGI version is available as "pythondemo_cgi/multiradar.py".)
#!/usr/bin/python from pychartdir import * #The data for the chart data0 = [90, 60, 85, 75, 55] data1 = [60, 80, 70, 80, 85] #The labels for the chart labels = ["Speed", "Reliability", "Comfort", "Safety", "Efficiency"] #Create a PolarChart object of size 480 x 380 pixels c = PolarChart(480, 380) #Set background color to gold (goldGradient), with 1 pixel 3D border effect c.setBackground(c.gradientColor(goldGradient, 90, 2), 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( 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")