Creating a Chart Using Data Specified in Arrays

See Also

This example creates a chart using data specified in arrays. The arrays are set to the category and value data, and then these arrays are used with the SetData method to set the chart data.

To run this example, copy the remainder of the text in this topic into an HTML page.

<object id=ChartSpace1 classid=CLSID:0002E500-0000-0000-C000-000000000046 style="width:100%;height:350"></object>

<script language=vbs>
Sub Window_OnLoad()
Dim categories(3), values(3)

    ' Create a column chart with three series and four categories, showing the 
    ' percentage of voters for the 1992 presidential election by race/ethic group.

    ' Create an array of strings representing the categories.
    ' The categories will be the same for all three series.
    categories(0) = "White"
    categories(1) = "Black"
    categories(2) = "Asian"
    categories(3) = "Latino"

    ' Clear the contents of the chart workspace. This removes
    ' any old charts that may already exist and leaves the chart workspace
    ' completely empty. One chart object is then added.
    ChartSpace1.Clear
    ChartSpace1.Charts.Add
    Set c = ChartSpace1.Constants

    ' Add three series to the chart.
    ChartSpace1.Charts(0).SeriesCollection.Add
    ChartSpace1.Charts(0).SeriesCollection.Add
    ChartSpace1.Charts(0).SeriesCollection.Add
    
    ' Series one contains election data for Perot.
    ' Set the series caption (the text that appears in the legend).
    ChartSpace1.Charts(0).SeriesCollection(0).Caption = "Perot"

    ' Set the categories for the first series (this collection is zero-based) 
    ChartSpace1.Charts(0).SeriesCollection(0).SetData c.chDimCategories, c.chDataLiteral, categories

values(0) = 0.2 ' The White value.
values(1) = 0.06 ' The Black value.
values(2) = 0.17 ' The Asian value.
values(3) = 0.13 ' The Latino value.

ChartSpace1.Charts(0).SeriesCollection(0).Caption = "Perot"
ChartSpace1.Charts(0).SeriesCollection(0).SetData c.chDimCategories, c.chDataLiteral, categories
ChartSpace1.Charts(0).SeriesCollection(0).SetData c.chDimValues, c.chDataLiteral, values

    ' Series two contains election data for Clinton.
    ' Update the values array, then set the chart data.
    values(0) = 0.38 ' The White value.
    values(1) = 0.82 ' The Black value.
    values(2) = 0.28 ' The Asian value.
    values(3) = 0.62 ' The Latino value.

    ChartSpace1.Charts(0).SeriesCollection(1).Caption = "Clinton"
    ChartSpace1.Charts(0).SeriesCollection(1).SetData c.chDimCategories, c.chDataLiteral, categories
    ChartSpace1.Charts(0).SeriesCollection(1).SetData c.chDimValues, c.chDataLiteral, values

    ' Series two contains election data for Bush.
    ' Update the values array, and then set the chart data.
    values(0) = 0.42 ' The White value.
    values(1) = 0.12 ' The Black value.
    values(2) = 0.55 ' The Asian value.
    values(3) = 0.25 ' The Latino value.

    ChartSpace1.Charts(0).SeriesCollection(2).Caption = "Bush"
    ChartSpace1.Charts(0).SeriesCollection(2).SetData c.chDimCategories, c.chDataLiteral, categories
    ChartSpace1.Charts(0).SeriesCollection(2).SetData c.chDimValues, c.chDataLiteral, values

    ' Make the chart legend visible, format the left value axis as percentage, 
    ' and specify that value gridlines are at 10% intervals.
    ChartSpace1.Charts(0).HasLegend = True
    ChartSpace1.Charts(0).Axes(c.chAxisPositionLeft).NumberFormat = "0%"
    ChartSpace1.Charts(0).Axes(c.chAxisPositionLeft).MajorUnit = 0.1
End Sub
</script>