ASP.NET Web Pages 图表

asp.net web pages - chart 帮助器

chart 帮助器 - 众多有用的 asp.net web 帮助器之一。

chart 帮助器

在前面的章节中,您已经学习了如何使用 asp.net 的 "帮助器"。

前面已经介绍了如何使用 "webgrid 帮助器" 在网格中显示数据。

本章介绍如何使用 "chart 帮助器" 以图形化的形式显示数据。

"chart 帮助器" 可以创建不同类型的带有多种格式化选项和标签的图表图像。它可以创建面积图、条形图、柱形图、折线图、饼图等标准图表,也可以创建像股票图表这样的更专业的图表。

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

根据数组创建图表

下面的实例显示了根据数组数据显示图表所需的代码:

实例

@{
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() 方法显示图表

根据数据库创建图表

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

实例

@{
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 更加灵活,因为您可以更明确地指定图表和数据:

实例

@{
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();
}


根据 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();}
}

相关文章