日期:2008-10-14  浏览次数:21231 次


Simple Chart Example
使用很简单哦,这样就可以了:

用Server.CreateObject建立对象
设置图表属性
调用SaveChart方法保存到硬盘或者用Response.BinaryWrite Chart.Image直接发送
下面这段代码是示范如何建立一个柱图的:

ctBar= 1
cNone= 0
cGradient =6

rem **********************************************************************
rem * Instantiate the Chart component
rem **********************************************************************
Set Chart = Server.CreateObject ("ASPChart.Chart")

rem **********************************************************************
rem * Add a Bar series with 3 points
rem **********************************************************************
Chart.AddSeries (ctBar)
Chart.AddValue 200, "Regular", vbBlue
Chart.AddValue 233, "Enhanced ", vbRed
Chart.AddValue 260, "Free", vbGreen
Chart.BarStyle = cGradient

rem **********************************************************************
rem * Set the PanelColor, remove the OuterBevel
rem **********************************************************************
Chart.PanelColor = vbWhite
Chart.BevelOuter = cNone
Chart.ChartBGColor = vbWhite

rem **********************************************************************
rem * Set the Width and Height of the image
rem **********************************************************************
Chart.Height = 300
Chart.Width = 500

rem **********************************************************************
rem * Set the filename, save the image and write the image tag
rem **********************************************************************
Chart.FileName = "d:inetpubwwwrootimagessmpchrt1.jpg"
'也不知道用Server.MapPath,不知道是笨呢还是图效率高。
Chart.SaveChart
Response.Write "<img src=""/images/smpchrt1.jpg"">"

rem **********************************************************************
rem * Destroy the object
rem **********************************************************************
Set Chart = nothing

Multiple Series per Chart
下面这段代码是示范如何建立多列数据的图表的.

Set Chart = Server.CreateObject("AspChart.Chart")
Randomize
Chart.AddSeries 7 'Candle Series
dblOpen = 1000 + Rnd(100)
for intCount = 1 to 30
dblBase = Round(100*Rnd-50)
Chart.AddCandle Now + intCount, dblOpen, dblOpen+20, dblOpen-20, dblOpen+dblBase
dblOpen = dblOpen + dblBase
next

Randomize
Chart.AddSeries 5 '这样再调用一次AddSeries就可以再加一列数据了
dblOpen = 1000 + Rnd(100)
for intCount =1 to30


dt = Now + intCount
dblBase = Round(100*Rnd-50)
Chart.AddXY dt, dblOpen, CStr(Month(dt))+ "/" + _
CStr(Day(dt))+"/" +CStr(Year (dt) Mod 100),vbRed
dblOpen =dblOpen + dblBase
next

再加一段直接输出到浏览器的例子吧:

Response.ContentType = "image/JPEG"
Dim Chart
Set Chart = Server.CreateObject ("ASPChart.Chart")
Chart.AddSeries (ctBar)
Chart.AddValue 200, "Regular", vbBlue
Chart.AddValue 233, "Enhanced ", vbRed
Chart.AddValue 260, "Free", vbGreen
Chart.BarStyle = cGradient

Chart.PanelColor = vbWhite
Chart.BevelOuter = cNone
Chart.ChartBGColor = vbWhite

Chart.Height = 300
Chart.Width = 500
Response.BinaryWrite Chart.Image
Set Chart = nothing