ASP.NET 动态图表控件






3.36/5 (8投票s)
使用 .NET Framework 3.5 SP1 提供的 ASP.NET 图表控件

引言
本文档演示了如何使用 ASP.NET 图表控件在 Web 上构建动态图表。之前的文章为您提供了 ASP.NET 图表控件的概述。在之前的文章中,数据点是静态绑定的,如下所示
<Points>
<asp:DataPoint AxisLabel="jon" XValue="5" YValues="4" />
<asp:DataPoint AxisLabel="kon" XValue="15" YValues="44" />
<asp:DataPoint AxisLabel="pol" XValue="85" YValues="90" />
</Points>
但是,没有人真正对静态图表感兴趣。图表应该从诸如集合对象、数据源等数据源动态生成。
背景
本文是以下文章的延续
生成动态图表
本文主要关注图表的动态性,即动态添加标题、序列和数据点。我们可以通过多种方式动态生成图表,但我只能展示两种方法。
添加标题
我们可以以以下方式添加标题。这里 Chart1 是图表对象的 ID。通过使用 Titles.Add()
方法,我们可以将标题添加到图表中。
Chart1.Titles.Add("Pass percentage of Students")
添加序列
与标题类似,我们也可以通过 Series.Add()
方法添加序列标签。这里 通过百分比 是序列的图例。
Chart1.Series.Add("Pass percentage")
添加点和轴标签
最后,我们需要将点添加到序列中。这里 Series(0) 表示第一个序列。
有两种方法可以添加点
- 使用
AddXY
、Add
、AddY
重载方法 - 使用
DataBindXY
重载方法
方法 1
Points.AddXY
方法用于将 X 和 Y 点添加到图表中。我们还可以通过将标签分配给 Points.Item(j).AxisLabel
属性来添加轴标签。这里 Item(j) 表示第 Jth 个点。
Dim Yr As Int16 = 2000
Dim j As Int16 = 0
For i As Integer = 1 To 9
Chart1.Series(0).Points.AddXY(i + 10, i + 15)
Chart1.Series(0).Points.Item(j).AxisLabel = Yr
Yr = Yr + 1
j = j + 1
Next
方法 2
使用 DataBindXY
方法,我们可以直接绑定 X、Y 坐标,甚至可以使用重载方法绑定 X、Y 和标签。
Dim xval As String() = {"Peter", "Andrew", "Julie", "Mary", "Dave"}
Dim yval As Double() = {2, 6, 4, 5, 3}
Chart2.Series(0).Points.DataBindXY(xval, yval)
这里 DataBindXY
有两个重载方法
- 接收 X 轴、Y 轴
- 接收 X 轴、X 字段、Y 轴
以以上方式,我们将点添加到图表中。我们可以通过更改控件的属性来改进界面。
历史
- 2008 年 12 月 29 日:初始发布