65.9K
CodeProject 正在变化。 阅读更多。
Home

ASP.NET 动态图表控件

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.36/5 (8投票s)

2008 年 12 月 29 日

Ms-PL

2分钟阅读

viewsIcon

55452

downloadIcon

1205

使用 .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) 表示第一个序列。

有两种方法可以添加点

  1. 使用 AddXYAddAddY 重载方法
  2. 使用 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 有两个重载方法

  1. 接收 X 轴、Y 轴
  2. 接收 X 轴、X 字段、Y 轴

以以上方式,我们将点添加到图表中。我们可以通过更改控件的属性来改进界面。

历史

  • 2008 年 12 月 29 日:初始发布
© . All rights reserved.