大家快来看,关于VB.net 用dotnetcharting在网页中绘图的问题。
vb2010吧
全部回复
仅看楼主
level 1
mallon01 楼主
做网站数据统计分析,需要将适时数据以曲线图的形式发布在网站上,借用第三方组件dotnetcharting绘各种统计图(如折线图、饼状图等)能起到事半功倍的效果。下面是我用VB.net写的代码:
首先新建showdata类:
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.DataRow
Imports System.Web.UI.WebControls
imports dotnetCHARTING
Public Class showdata
Public _phaysicalimagepath As String '图片存放路径
Public _title As String '图片标题
Public _xtitle As String '图片x坐标名称
Public _ytitle As String '图片y坐标名称
Public _seriesname As String '图例名称
Public _picwidth As Integer '图片宽度
Public _pichight As Integer '图片高度
Public _dt As DataTable '图片数据源
Public dr As DataRow
Public Property PhaysicalImagePath() As String
Get
Return _phaysicalimagepath
End Get
Set(ByVal value As String)
End Set
End Property
Public Sub CreateLine(ByVal chart_x As Chart)
Dim i, j As Integer
Dim temp1(100), temp As Double
For i = 0 To _dt.Rows.Count
dr = _dt.Rows.Item(i)
temp1(i) = dr.Item(0)
Next
For i = 0 To _dt.Rows.Count '/*冒泡排序,从小到大的顺序,用于指定Y坐标的最大值*/
For j = 0 To _dt.Rows.Count - i - 1
If (temp1(j) > temp1(j + 1)) Then
temp = temp1(j)
temp1(j) = temp1(j + 1)
temp1(j + 1) = temp
End If
Next
Next
chart_x.XAxis.Maximum = temp1(_dt.Rows.Count)
chart_x.Title = _title
chart_x.XAxis.Label.Text = _xtitle
chart_x.YAxis.Label.Text = _ytitle
chart_x.TempDirectory = _phaysicalimagepath
chart_x.Width = _picwidth
chart_x.Height = _pichight
chart_x.Type = ChartType.Combo
chart_x.Series.Type = SeriesType.Line
chart_x.Series.Name = _seriesname
chart_x.Series.Data = _dt '
chart_x.SeriesCollection.Add()
chart_x.DefaultSeries.DefaultElement.ShowValue = True
chart_x.ShadingEffect = True '
chart_x.Use3D = False
chart_x.Series.DefaultElement.ShowValue = False
chart_x.Visible = True
chart_x.Series.Line.EndCap = Drawing.Drawing2D.LineCap.Triangle
chart_x.Series.YAxis.Maximum = temp1(_dt.Rows.Count - i - 1 )
chart_x.Series.XAxis.Maximum = 12.0
chart_x.Series.DefaultElement.Close = False
End Sub
End Class
然后在网页的控件事件中调用该类中的变量和事件
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim show As New showdata()
show._Title = "平方根表"
show._xtitle = "整数"
show._ytitle = "整数的平方根"
show._pichight = 300
show._picwidth = 600
show._seriesname = "值"
show.PhaysicalImagePath = ".\image"
Dim mydt As New DataTable("Squares")
Dim mydr As DataRow
Dim i As Integer
mydt.Columns.Add(New DataColumn("数字", GetType(Integer)))
mydt.Columns.Add(New DataColumn("开根", GetType(Integer)))
For i = 0 To 10
mydr = mydt.NewRow()
mydr(0) = i
mydr(1) = Math.Sqrt(i)
mydt.Rows.Add(mydr)
Next
show._dt = mydt
show.CreateLine(Chart1)
End Sub
现在问题是:运行后刚开始出现了一下错误:
要么就运行出现一下错误,真不知道该怎么解决。
(好像在创建的类当中关于chart_x的属性设置都无效,有些属性设置没看懂,请求大神帮忙稍微注释一下吧)
由于网上有很多关于此控件的代码都是用C#。net写的,所以大家也可以帮忙参考借鉴一下。
一直无法解决此类问题,请求有过类似经验的大神们帮忙指导一下吧。小弟先在此先谢谢了~~
2013年05月05日 08点05分 1
1