首页>教程>ASP.NET教程>ASP.NET Web Pages Chart 帮助器

需要支持?

如果通过文档没办法解决您的问题,请提交工单获取我们的支持!

ASP.NET Web Pages Chart 帮助器

内容纲要

Chart 帮助器以图形化的形式显示数据

Chart 帮助器

在前面的章节中,我们已经学习了如何使用 ASP.NET 的 "帮助器"

我们学习了如何使用 "WebGrid 帮助器" 在网格中显示数据

Chart 帮助器可以以图形化的形式显示数据

"Chart 帮助器" 可以创建不同类型的带有多种格式化选项和标签的图表图片

它可以创建面积图、条形图、柱形图、折线图、饼图等标准图表,也可以创建像股票图表这样的更专业的图表

柱形图

饼图

图表中中显示的数据可以是来自一个数组,一个数据库,或者一个文件中的数据

1. 根据数组创建图表

下面的范例根据数组数据来显示一个图表

webpages_cs_5.cshtml

@{ 
var myChart = new Chart(width: 600, height: 400) 
.AddTitle("Employees") 
.AddSeries(chartType: "column",
      xValue: new[] {  "Peter", "Andrew", "Julie", "Mary", "Dave" }, 
      yValues: new[] { "2", "6", "4", "5", "3" }) 
.Write();
}

在上面的范例中

  • new Chart 创建一个新的图表对象并且设置它的宽度和高度
  • AddTitle 方法指定了图表的标题
  • AddSeries 方法向图表中增加数据
  • chartType 参数定义图表的类型
  • xValue 参数定义 x 轴的名称
  • yValues 参数定义 y 轴的名称
  • Write() 方法显示图表

2. 根据数据库创建图表

我们可以先执行一个数据库查询,然后使用查询结果中的数据来创建一个图表

webpages_cs_6.cshtml

@{ 
var db = Database.Open("SmallBakery"); 
var dbdata = db.Query("SELECT Name, Price FROM Product"); 
var myChart = new Chart(width: 600, height: 400) 
   .AddTitle("Product Sales") 
   .DataBindTable(dataSource: dbdata, xField: "Name")
   .Write();
}
  • var db = Database.Open 打开数据库(将数据库对象赋值给变量 db)
  • var dbdata = db.Query 执行数据库查询并保存结果在 dbdata 中
  • new Chart 创建一个新的图表对象并且设置它的宽度和高度
  • AddTitle 方法指定了图表的标题
  • DataBindTable 方法将数据源绑定到图表
  • Write() 方法显示图表

除了使用 DataBindTable 方法之外,另一种方法是使用 AddSeries(见前面的范例)

DataBindTable 更容易使用,但是 AddSeries 更加灵活,因为我们可以更明确地指定图表和数据

webpages_cs_7.cshtml

@{ 
var db = Database.Open("SmallBakery"); 
var dbdata = db.Query("SELECT Name, Price FROM Product"); 
var myChart = new Chart(width: 600, height: 400) 
   .AddTitle("Product Sales") 
   .AddSeries(chartType:"Pie",
      xValue: dbdata, xField: "Name",
      yValues: dbdata, yFields: "Price")
   .Write();
}

3. 根据 XML 数据创建图表

我们也可以使用 XML 文件作为图标的数据源来创建一个图表

@using System.Data;

@{
var dataSet = new DataSet();
dataSet.ReadXmlSchema(Server.MapPath("data.xsd"));
dataSet.ReadXml(Server.MapPath("data.xml"));
var dataView = new DataView(dataSet.Tables[0]);
var myChart = new Chart(width: 600, height: 400)
.AddTitle("Sales Per Employee") 
.AddSeries("Default", chartType: "Pie",xValue: dataView, xField: "Name", yValues: dataView, yFields: "Sales")
.Write();}
}
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索