使用OpenFlashChart 2.0结合asp.net后台代码生成曲线图

一、OpenFlashChart下载

      http://teethgrinder.co.uk/open-flash-chart/download.php

二、在项目中添加OpenFlashChart.dll的引用
      引用的时候还需要在控件栏里添加对OpenFlashChart.dll控件的引用。引用后就可以直接拖放到页面上了。

      应用到正式IIS环境中时还需要添加对C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll的映射,
      映射扩展名为.ofc,且不要选中“检查文件是否存在”复选框

      在Web.Config中的节点 <httpHandlers>添加
  <httpHandlers>
          <add verb="*" path="ofc_handler.ofc" type="OpenFlashChart.WebHandler.ofcHandler, OpenFlashChart"/>
  </httpHandlers>

三、示例代码

 

这是Flash图表控件,支持线图及柱形图、饼图。

应用到正式IIS环境中时还需要添加对C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll的映射,
 映射扩展名为.ofc,且不要选中“检查文件是否存在”复选框

以下是部份使用的源代码仅供参考:(曲线图示例)
下面代码需要 Imports OpenFlashChart

    Public Sub CrTime()
        Dim TbName As String = "CPC_" + ClongDate(SD.Text) + "_IPstat"
        Dim CmdText As String = "Select Hs,Sum(IPs) as IPs,Sum(PVs) as PVs,Sum(Clicks) as clicks,Sum(S3s) as S3s from " + TbName + " where WebSiteID=" + WebSiteID.Text + " Group by Hs Order by Hs"
        Dim Dt As New DataTable
        Try
            Dt = CmdText.ExecuteDataTable
        Catch ex As Exception
            ClientMsg("查询发生错误外错,可能数据不存在或查询超时:" + ex.Message)
            History()
        End Try

        Dim IPsValue As New ArrayList
        Dim PVsValue As New ArrayList
        Dim ClicksValue As New ArrayList
        Dim S3sValue As New ArrayList
        Dim X As New XAxis
        Dim MaxPV As Double = 0
        If Dt.Rows.Count > 0 Then
            Dim m As Integer
            For m = 0 To Dt.Rows.Count - 1
                IPsValue.Add(Dt.Rows(m)("IPs"))
                PVsValue.Add(Dt.Rows(m)("PVs"))
                ClicksValue.Add(Dt.Rows(m)("Clicks"))
                S3sValue.Add(Dt.Rows(m)("S3s") * 100)
                X.Labels.Add(New AxisLabel(Dt.Rows(m)("hs")))
                If Dt.Rows(m)("PVs") > MaxPV Then
                    MaxPV = Dt.Rows(m)("PVs")
                End If
            Next
        End If
        Dim Chart As New OpenFlashChart.OpenFlashChart
        Dim Lines(3) As Line
        For m = 0 To Lines.Length - 1
            Lines(m) = New Line
            Lines(m).HaloSize = 0
            Lines(m).Width = 2
            Lines(m).DotSize = 5
            Select Case m
                Case 0
                    Lines(m).Values = PVsValue
                    Lines(m).Text = "PV"
                    Lines(m).Tooltip = "PV:#val#"
                    Lines(m).Colour = "#A942B8" '紫色
                Case 1
                    Lines(m).Values = IPsValue
                    Lines(m).Text = "IP"
                    Lines(m).Tooltip = "IP:#val#"
                    Lines(m).Colour = "#F30219" '红色
                Case 2
                    Lines(m).Values = ClicksValue
                    Lines(m).Text = "点击"
                    Lines(m).Tooltip = "点击:#val#"
                    Lines(m).Colour = "#46F302" '绿色
                Case 3
                    Lines(m).Values = S3sValue
                    Lines(m).Text = "关键效果"
                    Lines(m).Tooltip = "关键效果:#val#"
                    Lines(m).Colour = "#255A10" '青色
            End Select
            Chart.AddElement(Lines(m))
        Next

        Dim WebInfo As New DataTable
        WebInfo = ("Select * from WaUser_WebSites Where ID=" + WebSiteID.Text).ExecuteDataTable
        Dim title As String = ""
        If WebInfo.Rows.Count = 1 Then
            title = String.Format("合作方ID:{0} 网站 {1}({2}) 分时访问数据", WebInfo.Rows(0)("UserID").ToString, WebInfo.Rows(0)("Domain").ToString, WebInfo.Rows(0)("ID").ToString)
        Else
            title = "无法获取网站信息!"
        End If

        Chart.Title = New Title(title) '设置报表标题
        Chart.Y_Axis.SetRange(0, MaxPV, CInt(MaxPV / 6)) '设置Y轴的最高值,及每格的间隔值
        Chart.Tooltip = New ToolTip("全局提示:#val#")
        Chart.Tooltip.Shadow = True
        Chart.Tooltip.Colour = "#000000"
        Chart.Tooltip.MouseStyle = ToolTipStyle.CLOSEST
        Chart.Bgcolor = "#FFFFFF"
        Chart.X_Axis = X '这个是定义黄向座标的列。

        OFC1.EnableCache = False
        OFC1.Chart = Chart
    End Sub

 

代码请自已研究。Line是曲线图的线程

转载于:https://www.cnblogs.com/soleds/archive/2009/05/02/1447750.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值