ASP.NET 教程login
ASP.NET 教程
作者:php.cn  更新時間:2022-04-11 14:18:18

Web Pages 圖表


ASP.NET Web Pages - Chart 幫助器


#Chart 幫助器 - 眾多有用的 ASP.NET Web 幫助器之一。


Chart 幫助器

在前面的章節中,您已經學習如何使用 ASP.NET 的 "幫助器"。

前面已經介紹如何使用 "WebGrid 幫助器" 在網格中顯示資料。

本章介紹如何使用 "Chart 幫助器" 以圖形化的形式顯示資料。

"Chart 幫助器" 可以建立不同類型的具有多種格式化選項和標籤的圖表影像。它可以建立面積圖、長條圖、長條圖、折線圖、圓餅圖等標準圖表,也可以建立像股票圖表這樣的更專業的圖表。

06.jpg07.jpg

在圖表中顯示的資料可以是來自一個數組,一個資料庫,或一個檔案中的資料。


根據陣列建立圖表

下面的實例顯示了根據陣列資料顯示圖表所需的程式碼:

實例

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

執行實例»點擊"執行實例"按鈕查看線上實例



#