ChartDirector 7.0 (ASP/COM/VB Edition)

Pie Chart with Legend (1)




This example demonstrates how to add a legend box to a pie chart. It also demonstrates alternative sector label format and rounded edge sector shading.

Source Code Listing

[Web Version (in ASP)] aspdemo\legendpie.asp
<%@ language="vbscript" %> <% Set cd = CreateObject("ChartDirector.API") ' 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 450 x 270 pixels Set c = cd.PieChart(450, 270) ' Set the center of the pie at (150, 100) and the radius to 80 pixels Call c.setPieSize(150, 135, 100) ' add a legend box where the top left corner is at (330, 50) Call c.addLegend(330, 60) ' modify the sector label format to show percentages only Call c.setLabelFormat("{percent}%") ' Set the pie data and the pie labels Call c.setData(data, labels) ' Use rounded edge shading, with a 1 pixel white (FFFFFF) border Call c.setSectorStyle(cd.RoundedEdgeShading, &Hffffff, 1) ' 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='{label}: US${value}K ({percent}%)'") %> <!DOCTYPE html> <html> <head> <title>Pie Chart with Legend (1)</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;"> Pie Chart with Legend (1) </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>

[Windows Version (in Visual Basic)] vbdemo\legendpie.cls
Public Sub createChart(viewer As Object, chartIndex As Integer) Dim cd As New ChartDirector.API ' The data for the pie chart Dim data() data = Array(25, 18, 15, 12, 8, 30, 35) ' The labels for the pie chart Dim labels() labels = Array("Labor", "Licenses", "Taxes", "Legal", "Insurance", "Facilities", "Production") ' Create a PieChart object of size 450 x 270 pixels Dim c As PieChart Set c = cd.PieChart(450, 270) ' Set the center of the pie at (150, 100) and the radius to 80 pixels Call c.setPieSize(150, 135, 100) ' add a legend box where the top left corner is at (330, 50) Call c.addLegend(330, 60) ' modify the sector label format to show percentages only Call c.setLabelFormat("{percent}%") ' Set the pie data and the pie labels Call c.setData(data, labels) ' Use rounded edge shading, with a 1 pixel white (FFFFFF) border Call c.setSectorStyle(cd.RoundedEdgeShading, &Hffffff, 1) ' Output the chart Set viewer.Picture = c.makePicture() 'include tool tip for the chart viewer.ImageMap = c.getHTMLImageMap("clickable", "", _ "title='{label}: US${value}K ({percent}%)'") End Sub