以下代码存成asp文件: <% Dim strPicFile'生成的临时图表图片名 strPicFile=server.MapPath(".")&"\tmpchart.gif" ''图表数据部分,可以从数据库中取得 sdata1="45,75,78,67,45,75,78,80" sdata2="36,56,23,73" x_line="1,2,3,4" a_group="A,B" a_group_arr = split(a_group,",") x_line_arr = split(x_line,",") data1_arr = split(Sdata1,",") data2_arr = split(Sdata2,",")
''-----------------生成图表开始--------------------------------------------------- Set ChartTmp = CreateObject("OWC10.ChartSpace") Set cc = ChartTmp.Constants ''返回一个对象,此对象允许脚本用户使用已命名的常量。 'ChartTmp.Charts.delete(0) Set cht = ChartTmp.Charts.Add(0) ''添加一个图表对象 cht.Type=cc.chChartTypeColumnClustered' ''设置图表工作区中包含标题 ChartTmp.HasChartSpaceTitle = true with ChartTmp.ChartSpaceTitle .Caption ="测试图表"''设置图表工作区标题内容 ''有关字体的设置 .Font.Bold = True ''设置图表工作区标题内容是否粗体 .Font.Name = "Times New Roman" ''设置图表工作区标题内容的字体 .Font.Size = 18 ''设置图表工作区标题内容的大小(单位:磅) end with ''-------设置图例-------------------------------------------- cht.HasLegend = True ''指定图表工作区中含有图例 cht.Legend.Font.Size = 9 ''其他有关字体项的设置参见设置图表标题部分 cht.Legend.Position = cc.chLegendPositionBottom ''设置图例对其方式 ''-------添加数据系列1(柱状图)-------------------------------------------- Set Series0 = cht.SeriesCollection.Add() ''添加一个數據系列 with Series0 ' .Type=cc.chChartTypeColumnClustered' (省略同图表基本类型) .SetData cc.chDimSeriesNames, cc.chDataLiteral, a_group_arr(0) ''系列 .SetData cc.chDimCategories, cc.chDataLiteral, x_line_arr ''横(X)轴数据(分类轴) .SetData cc.chDimValues, cc.chDataLiteral, data1_arr''''纵(Y)轴数据 end with Set dl = Series0.DataLabelsCollection.Add ''添加图例的数据标记 dl.HasValue = True'显示数值 ''-------添加数据系列2(柱状图)-------------------------------------------- Set Series0 = cht.SeriesCollection.Add() ''添加一个數據系列 with Series0 ' .Type=cc.chChartTypeColumnClustered' (省略同图表基本类型) .SetData cc.chDimSeriesNames, cc.chDataLiteral, a_group_arr(1)''系列 .SetData cc.chDimCategories, cc.chDataLiteral, x_line_arr ''横(X)轴数据(分类轴) .SetData cc.chDimValues, cc.chDataLiteral, data2_arr''''纵(Y)轴数据 end with Set dl = Series0.DataLabelsCollection.Add ''添加图例的数据标记 dl.HasValue = True ''-------添加数据系列1(折线图)------------------------------------------ Set Series0 = cht.SeriesCollection.Add() ''添加一个數據系列 with Series0 .Type=cc.chChartTypeLineMarkers'(折线图) .setData cc.chDimSeriesNames, cc.chDataLiteral, a_group_arr(0)''系列 .SetData cc.chDimCategories, cc.chDataLiteral, x_line_arr ''横(X)轴数据(分类轴) .SetData cc.chDimValues, cc.chDataLiteral, data1_arr''''纵(Y)轴数据 end with ''-------添加数据系列2(折线图)------------------------------------------ Set Series0 = cht.SeriesCollection.Add() ''添加一个 with Series0 .Type=cc.chChartTypeLineMarkers'(折线图) .setData cc.chDimSeriesNames, cc.chDataLiteral, a_group_arr(1)''系列 .SetData cc.chDimCategories, cc.chDataLiteral, x_line_arr ''横(X)轴数据(分类轴) .SetData cc.chDimValues, cc.chDataLiteral, data2_arr''''纵(Y)轴数据 end with Set dl = Series0.DataLabelsCollection.Add ''添加图例的数据标记 dl.HasValue = true'显示数值 dl.HasPercentage = true'显示百分比
'导出图片 ChartTmp.ExportPicture strPicFile, "GIF", 760, 350
Set ChartTmp = Nothing ''生成图表结束 %>
<img src=tmpchart.gif> 附:常见图表类型参考 chChartTypeColumnClustered 柱状图 chChartTypeBarClustered 条形图 chChartTypePie 饼图 chChartTypeArea 面积图 chChartTypeRadarLine 雷达线图 chChartTypeSmoothLine 平滑曲线图 chChartTypeDoughnut 环形图
|