ChartDirector 7.0 (ASP/COM/VB Edition)
Polygon Bar Shapes
Source Code Listing
<%@ language="vbscript" %>
<%
Set cd = CreateObject("ChartDirector.API")
' The data for the bar chart
data = Array(85, 156, 179.5, 211, 123, 176, 195)
' The labels for the bar chart
labels = Array("Square", "Star(8)", "Polygon(6)", "Cross", "Cross2", "Diamond", "Custom")
' Create a XYChart object of size 500 x 280 pixels.
Set c = cd.XYChart(500, 280)
' Set the plotarea at (50, 40) with alternating light grey (f8f8f8) / white (ffffff) background
Call c.setPlotArea(50, 40, 400, 200, &Hf8f8f8, &Hffffff)
' Add a title to the chart using 14pt Arial Bold Italic font
Call c.addTitle(" Bar Shape Demonstration", "Arial Bold Italic", 14)
' Add a multi-color bar chart layer
Set layer = c.addBarLayer3(data)
' Set layer to 3D with 10 pixels 3D depth
Call layer.set3D(10)
' Set bar shape to circular (cylinder)
Call layer.setBarShape(cd.CircleShape)
' Set the first bar (index = 0) to square shape
Call layer.setBarShape(cd.SquareShape, 0, 0)
' Set the second bar to 8-pointed star
Call layer.setBarShape(cd.StarShape(8), 0, 1)
' Set the third bar to 6-sided polygon
Call layer.setBarShape(cd.PolygonShape(6), 0, 2)
' Set the next 3 bars to cross shape, X shape and diamond shape
Call layer.setBarShape(cd.CrossShape(), 0, 3)
Call layer.setBarShape(cd.Cross2Shape(), 0, 4)
Call layer.setBarShape(cd.DiamondShape, 0, 5)
' Set the last bar to a custom shape, specified as an array of (x, y) points in normalized
' coordinates
customShape = Array(-500, 0, 0, 500, 500, 0, 500, 1000, 0, 500, -500, 1000)
Call layer.setBarShape2(customShape, 0, 6)
' Set the labels on the x axis.
Call c.xAxis().setLabels(labels)
' Add a title to the y axis
Call c.yAxis().setTitle("Frequency")
' Add a title to the x axis
Call c.xAxis().setTitle("Shapes")
' Output the chart
Set viewer = cd.WebChartViewer(Request, "chart1")
Call viewer.setChart(c, cd.SVG)
' Include tool tip for the chart
viewer.ImageMap = c.getHTMLImageMap("", "", "title='{xLabel}: {value}'")
%>
<!DOCTYPE html>
<html>
<head>
<title>Polygon Bar Shapes</title>
<!-- Include ChartDirector Javascript Library to support chart interactions -->
<script type="text/javascript" src="cdjcv.js"></script>
</head>
<body style="margin:5px 0px 0px 5px">
<div style="font:bold 18pt verdana;">
Polygon Bar Shapes
</div>
<hr style="border:solid 1px #000080; background:#000080" />
<div style="font:10pt verdana; margin-bottom:1.5em">
<a href="viewsource.asp?file=<%= Request("SCRIPT_NAME") %>">View Chart Source Code</a>
</div>
<!-- ****** Here is the chart image ****** -->
<%= viewer.renderHTML() %>
</body>
</html>
Public Sub createChart(viewer As Object, chartIndex As Integer)
Dim cd As New ChartDirector.API
' The data for the bar chart
Dim data()
data = Array(85, 156, 179.5, 211, 123, 176, 195)
' The labels for the bar chart
Dim labels()
labels = Array("Square", "Star(8)", "Polygon(6)", "Cross", "Cross2", "Diamond", "Custom")
' Create a XYChart object of size 500 x 280 pixels.
Dim c As XYChart
Set c = cd.XYChart(500, 280)
' Set the plotarea at (50, 40) with alternating light grey (f8f8f8) / white (ffffff) background
Call c.setPlotArea(50, 40, 400, 200, &Hf8f8f8, &Hffffff)
' Add a title to the chart using 14pt Arial Bold Italic font
Call c.addTitle(" Bar Shape Demonstration", "arialbi.ttf", 14)
' Add a multi-color bar chart layer
Dim layer As BarLayer
Set layer = c.addBarLayer3(data)
' Set layer to 3D with 10 pixels 3D depth
Call layer.set3D(10)
' Set bar shape to circular (cylinder)
Call layer.setBarShape(cd.CircleShape)
' Set the first bar (index = 0) to square shape
Call layer.setBarShape(cd.SquareShape, 0, 0)
' Set the second bar to 8-pointed star
Call layer.setBarShape(cd.StarShape(8), 0, 1)
' Set the third bar to 6-sided polygon
Call layer.setBarShape(cd.PolygonShape(6), 0, 2)
' Set the next 3 bars to cross shape, X shape and diamond shape
Call layer.setBarShape(cd.CrossShape(), 0, 3)
Call layer.setBarShape(cd.Cross2Shape(), 0, 4)
Call layer.setBarShape(cd.DiamondShape, 0, 5)
' Set the last bar to a custom shape, specified as an array of (x, y) points in normalized
' coordinates
Call layer.setBarShape2(Array(-500, 0, 0, 500, 500, 0, 500, 1000, 0, 500, -500, 1000), 0, 6)
' Set the labels on the x axis.
Call c.xAxis().setLabels(labels)
' Add a title to the y axis
Call c.yAxis().setTitle("Frequency")
' Add a title to the x axis
Call c.xAxis().setTitle("Shapes")
' Output the chart
Set viewer.Picture = c.makePicture()
'include tool tip for the chart
viewer.ImageMap = c.getHTMLImageMap("clickable", "", "title='{xLabel}: {value}'")
End Sub