ChartDirector 6.0 (ColdFusion Edition)

3D Scatter Groups




This example demonstrates multiple symbol groups by calling ThreeDScatterChart.addScatterGroup multiple times with different data and colors.

Source Code Listing

[File: cfdemo/threedscattergroups.cfm]
<cfscript>

// 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;
}

// The random XYZ data for the first 3D scatter group
r0 = cd.RanSeries(7);
xData0 = r0.getSeries2(100, 100, -10, 10);
yData0 = r0.getSeries2(100, 0, 0, 20);
zData0 = r0.getSeries2(100, 100, -10, 10);

// The random XYZ data for the second 3D scatter group
r1 = cd.RanSeries(4);
xData1 = r1.getSeries2(100, 100, -10, 10);
yData1 = r1.getSeries2(100, 0, 0, 20);
zData1 = r1.getSeries2(100, 100, -10, 10);

// The random XYZ data for the third 3D scatter group
r2 = cd.RanSeries(8);
xData2 = r2.getSeries2(100, 100, -10, 10);
yData2 = r2.getSeries2(100, 0, 0, 20);
zData2 = r2.getSeries2(100, 100, -10, 10);

// Create a ThreeDScatterChart object of size 800 x 520 pixels
c = cd.ThreeDScatterChart(800, 520);

// Add a title to the chart using 20 points Times New Roman Italic font
c.addTitle("3D Scatter Groups                    ", "Times New Roman Italic", 20);

// Set the center of the plot region at (350, 240), and set width x depth x height to 360 x 360 x
// 270 pixels
c.setPlotRegion(350, 240, 360, 360, 270);

// Set the elevation and rotation angles to 15 and 30 degrees
c.setViewAngle(15, 30);

// Add a legend box at (640, 180)
c.addLegend(640, 180);

// Add 3 scatter groups to the chart with 9 pixels glass sphere symbols of red (ff0000), green
// (00ff00) and blue (0000ff) colors
c.addScatterGroup(xData0, yData0, zData0, "Alpha", cd.GlassSphere2Shape, 9, "0xff0000");
c.addScatterGroup(xData1, yData1, zData1, "Beta", cd.GlassSphere2Shape, 9, "0x00ff00");
c.addScatterGroup(xData2, yData2, zData2, "Gamma", cd.GlassSphere2Shape, 9, "0x0000ff");

// Set the x, y and z axis titles
c.xAxis().setTitle("X-Axis Place Holder");
c.yAxis().setTitle("Y-Axis Place Holder");
c.zAxis().setTitle("Z-Axis Place Holder");

// Output the chart
chart1URL = c.makeSession(GetPageContext(), "chart1");

</cfscript>
<html>
<body style="margin:5px 0px 0px 5px">
<div style="font-size:18pt; font-family:verdana; font-weight:bold">
    3D Scatter Groups
</div>
<hr style="border:solid 1px #000080" />
<cfoutput>
<div style="font-size:9pt; font-family:verdana; margin-bottom:1.5em">
    <a href='viewsource.cfm?file=#CGI.SCRIPT_NAME#'>View Source Code</a>
</div>
<img src="getchart.cfm?#chart1URL#" />
</cfoutput>
</body>
</html>