ChartDirector 6.0 (ASP/COM/VB Edition)

Multi-Color Bar Chart (2)




This example extends the Multi-Color Bar Chart (1) example by decorating the the bars with rounded corners and gradient shading.

Source Code Listing

[Web Version (in ASP)] aspdemo\colorbar2.asp
<%@ language="vbscript" %>
<%
Set cd = CreateObject("ChartDirector.API")

' The data for the bar chart
data = Array(85, 156, 179, 211, 123, 189, 166)

' The labels for the bar chart
labels = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")

' The colors for the bars
colors = Array(&H5588bb, &H66bbbb, &Haa6644, &H99bb55, &Hee9944, &H444466, &Hbb5555)

' Create a XYChart object of size 600 x 360 pixels
Set c = cd.XYChart(600, 360)

' Set the plotarea at (70, 20) and of size 500 x 300 pixels, with transparent background and border
' and light grey (0xcccccc) horizontal grid lines
Call c.setPlotArea(70, 20, 500, 300, cd.Transparent, -1, cd.Transparent, &Hcccccc)

' Set the x and y axis stems to transparent and the label font to 12pt Arial
Call c.xAxis().setColors(cd.Transparent)
Call c.yAxis().setColors(cd.Transparent)
Call c.xAxis().setLabelStyle("arial.ttf", 12)
Call c.yAxis().setLabelStyle("arial.ttf", 12)

' Add a multi-color bar chart layer using the given data
Set layer = c.addBarLayer3(data, colors)

' Use bar gradient lighting with the light intensity from 0.8 to 1.15
Call layer.setBorderColor(cd.Transparent, cd.barLighting(0.8, 1.15))

' Set rounded corners for bars
Call layer.setRoundedCorners()

' Set the labels on the x axis.
Call c.xAxis().setLabels(labels)

' For the automatic y-axis labels, set the minimum spacing to 40 pixels.
Call c.yAxis().setTickDensity(40)

' Add a title to the y axis using dark grey (0x555555) 14pt Arial font
Call c.yAxis().setTitle("Y-Axis Title Placeholder", "arial.ttf", 14, &H555555)

' Output the chart
Response.ContentType = "image/png"
Response.BinaryWrite c.makeChart2(cd.PNG)
Response.End
%>

[Windows Version (in Visual Basic)] vbdemo\colorbar2.cls
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, 211, 123, 189, 166)

    ' The labels for the bar chart
    Dim labels()
    labels = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")

    ' The colors for the bars
    Dim colors()
    colors = Array(&H5588bb, &H66bbbb, &Haa6644, &H99bb55, &Hee9944, &H444466, &Hbb5555)

    ' Create a XYChart object of size 600 x 360 pixels
    Dim c As XYChart
    Set c = cd.XYChart(600, 360)

    ' Set the plotarea at (70, 20) and of size 500 x 300 pixels, with transparent background and
    ' border and light grey (0xcccccc) horizontal grid lines
    Call c.setPlotArea(70, 20, 500, 300, cd.Transparent, -1, cd.Transparent, &Hcccccc)

    ' Set the x and y axis stems to transparent and the label font to 12pt Arial
    Call c.xAxis().setColors(cd.Transparent)
    Call c.yAxis().setColors(cd.Transparent)
    Call c.xAxis().setLabelStyle("arial.ttf", 12)
    Call c.yAxis().setLabelStyle("arial.ttf", 12)

    ' Add a multi-color bar chart layer using the given data
    Dim layer As BarLayer
    Set layer = c.addBarLayer3(data, colors)

    ' Use bar gradient lighting with the light intensity from 0.8 to 1.15
    Call layer.setBorderColor(cd.Transparent, cd.barLighting(0.8, 1.15))

    ' Set rounded corners for bars
    Call layer.setRoundedCorners()

    ' Set the labels on the x axis.
    Call c.xAxis().setLabels(labels)

    ' For the automatic y-axis labels, set the minimum spacing to 40 pixels.
    Call c.yAxis().setTickDensity(40)

    ' Add a title to the y axis using dark grey (0x555555) 14pt Arial font
    Call c.yAxis().setTitle("Y-Axis Title Placeholder", "arial.ttf", 14, &H555555)

    ' Output the chart
    Set viewer.Picture = c.makePicture()

    'include tool tip for the chart
    viewer.ImageMap = c.getHTMLImageMap("clickable", "", "title='{xLabel}: ${value}M'")

End Sub