shadowpie.cfm
Back to Chart Graphics
// ChartDirector for ColdFusion API Access Point
cd = CreateObject("java", "ChartDirector.CFChart");
// A utility to allow us to create arrays with data in one line of code
function Array() {
var result = ArrayNew(1);
var i = 0;
for (i = 1; i LTE ArrayLen(arguments); i = i + 1)
result[i] = arguments[i];
return result;
}
// Function to create the demo charts
function createChart(img)
{
// Declare local variables
var angle = 0;
var data = 0;
var labels = 0;
var c = 0;
var ret = 0;
// the tilt angle of the pie
angle = Int(img) * 90 + 45;
// The data for the pie chart
data = Array(25, 18, 15, 12, 8, 30, 35);
// The labels for the pie chart
labels = Array("Labor", "Licenses", "Taxes", "Legal", "Insurance", "Facilities",
"Production");
// Create a PieChart object of size 100 x 110 pixels
c = cd.PieChart(100, 110);
// Set the center of the pie at (50, 55) and the radius to 36 pixels
c.setPieSize(50, 55, 36);
// Set the depth, tilt angle and 3D mode of the 3D pie (-1 means auto depth,
// "true" means the 3D effect is in shadow mode)
c.set3D(-1, angle, True);
// Add a title showing the shadow angle
c.addTitle("Shadow @ " & angle & " deg", "Arial", 8);
// Set the pie data
c.setData(data, labels);
// Disable the sector labels by setting the color to Transparent
c.setLabelStyle("", 8, cd.Transparent);
// Output the chart
ret = StructNew();
ret.imageURL = c.makeSession(GetPageContext(), "chart" & img);
// Include tool tip for the chart
ret.imageMap = c.getHTMLImageMap("", "",
"title='{label}: US${value}K ({percent}%)'");
return ret;
}
chart0 = createChart(0);
chart1 = createChart(1);
chart2 = createChart(2);
chart3 = createChart(3);
3D Shadow Mode