ChartDirector Ver 3.0 (Python Edition)

Coloring and Wallpaper


      

This example demonstrates how to modify the coloring scheme using BaseChart.setColor, BaseChart.setColors and BaseChart.setColors2, and apply a background image to the chart using BaseChart.setWallpaper.

Source Code Listing

[File: pythondemo/colorpie.py] (The CGI version is available as "pythondemo_cgi/colorpie.py".)
#!/usr/bin/python from pychartdir import * def createChart(img) : #The data for the pie chart data = [25, 18, 15, 12, 8, 30, 35] #The labels for the pie chart labels = ["Labor", "Licenses", "Taxes", "Legal", "Insurance", "Facilities", "Production"] #Colors of the sectors if custom coloring is used colors = [0xb8bc9c, 0xecf0b9, 0x999966, 0x333366, 0xc3c3e6, 0x594330, 0xa0bdc4] #Create a PieChart object of size 280 x 240 pixels c = PieChart(280, 240) #Set the center of the pie at (140, 120) and the radius to 80 pixels c.setPieSize(140, 120, 80) #Draw the pie in 3D c.set3D() #Set the coloring schema if img == "0" : c.addTitle("Custom Colors") #set the LineColor to light gray c.setColor(LineColor, 0xc0c0c0) #use given color array as the data colors (sector colors) c.setColors2(DataColor, colors) elif img == "1" : c.addTitle("Dark Background Colors") #use the standard white on black palette c.setColors(whiteOnBlackPalette) elif img == "2" : c.addTitle("Wallpaper As Background") c.setWallpaper("bg.png") else : c.addTitle("Transparent Colors") c.setWallpaper("bg.png") #use semi-transparent colors to allow the background to be seen c.setColors(transparentPalette) #Set the pie data and the pie labels c.setData(data, labels) #Explode the 1st sector (index = 0) c.setExplode(0) #output the chart c.makeChart("colorpie%s.png" % img) createChart("0") createChart("1") createChart("2") createChart("3")