asp.net 2.0中,要顯示圖型的話,可以用ms office 2003的owc組件,可以十分方便地看到圖表,在工程中,
首先添加microsoft office web components 11.0的引用就可以了,然後要
using Microsoft.Office.Interop.Owc11;
1 產生柱狀圖
//建立X座標的值,表示月份
int[] Month = new int[3] { 1, 2, 3 };
//建立Y座標的值,表示銷售額
double[] Count = new double[3] { 120,240,220};
//建立圖資料表空間
ChartSpace mychartSpace = new ChartSpace();
//在圖資料表空間內添加一個圖表對象
ChChart mychart = mychartSpace.Charts.Add(0);
//設定圖表類型,本例使用柱形
mychart.Type = ChartChartTypeEnum.chChartTypeColumnClustered;
//設定圖表的一些屬性
//是否需要圖例
mychart.HasLegend = true;
//是否需要主題
mychart.HasTitle = true;
//主題內容
mychart.Title.Caption = "一季度總結";
//設定x,y座標
mychart.Axes[0].HasTitle = true;
mychart.Axes[0].Title.Caption = "月份";
mychart.Axes[1].HasTitle = true;
mychart.Axes[1].Title.Caption = "銷量";
//添加三個圖表塊
mychart.SeriesCollection.Add(0);
mychart.SeriesCollection.Add(0);
mychart.SeriesCollection.Add(0);
//設定圖表塊的屬性
//標題
mychart.SeriesCollection[0].Caption = "一月份";
//X座標的值屬性
mychart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories, (int)ChartSpecialDataSourcesEnum.chDataLiteral, Month[0]);
//y座標的值屬性
mychart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, Count[0]);
//第二個塊
mychart.SeriesCollection[1].Caption = "二月份";
//X座標的值屬性
mychart.SeriesCollection[1].SetData(ChartDimensionsEnum.chDimCategories, (int)ChartSpecialDataSourcesEnum.chDataLiteral, Month[1]);
//y座標的值屬性
mychart.SeriesCollection[1].SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, Count[1]);
//第三個塊
mychart.SeriesCollection[2].Caption = "三月份";
//X座標的值屬性
mychart.SeriesCollection[2].SetData(ChartDimensionsEnum.chDimCategories, (int)ChartSpecialDataSourcesEnum.chDataLiteral, Month[2]);
//y座標的值屬性
mychart.SeriesCollection[2].SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, Count[2]);
//產生圖片
mychartSpace.ExportPicture(Server.MapPath(".") + @"\test.jpg", "jpg", 500, 450);
//載入圖片
Image1.ImageUrl = Server.MapPath(".") + @"\test.jpg";
}
2
產生餅狀圖
protected void Page_Load(object sender, EventArgs e)
{
//建立X座標的值,表示月份
int[] Month ={ 1, 2, 3 };
//建立Y座標的值,表示銷售額
double[] Count ={ 120, 240, 220 };
string strDataName = "";
string strData = "";
//建立圖資料表空間
ChartSpace mychartSpace = new ChartSpace();
//在圖資料表空間內添加一個圖表對象
ChChart mychart = mychartSpace.Charts.Add(0);
//設定每塊餅的資料
for (int i = 0; i < Count.Length; i++)
{
strDataName += Month[i] + "\t";
strData += Count[i].ToString() + "\t";
}
//設定圖表類型,本例使用柱形
mychart.Type = ChartChartTypeEnum.chChartTypePie;
//設定圖表的一些屬性
//是否需要圖例
mychart.HasLegend = true;
//是否需要主題
mychart.HasTitle = true;
//主題內容
mychart.Title.Caption = "一季度總結";
//添加圖表塊
mychart.SeriesCollection.Add(0);
//設定圖表塊的屬性
//分類屬性
mychart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories, (int)ChartSpecialDataSourcesEnum.chDataLiteral, strDataName);
//值屬性
mychart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, strData);
//顯示百分比
ChDataLabels mytb= mychart.SeriesCollection[0].DataLabelsCollection.Add();
mytb.HasPercentage = true;
//產生圖片
mychartSpace.ExportPicture(Server.MapPath(".") + @"\test.gif", "gif", 500, 450);
//載入圖片
Image1.ImageUrl = Server.MapPath(".") + @"\test.gif";
}