asp.net微软图表控件使用示例代码分享
本文导语: 代码如下: 代码如下: MsChart图表控件 ...
MsChart图表控件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;
//add
using System.Drawing;
public partial class chart : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = CreatData();
GetStyle1(dt);
GetStyle2(dt);
GetStyle3(dt);
GetStyle4(dt);
}
protected void GetStyle1(DataTable dt)
{
#region 折线图
Chart1.DataSource = dt;//绑定数据
Chart1.Series["Series1"].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Line;//设置图表类型
Chart1.Series[0].XValueMember = "Country";//X轴数据成员列
Chart1.Series[0].YValueMembers = "Score";//Y轴数据成员列
Chart1.ChartAreas["ChartArea1"].AxisX.Title = "国家";//X轴标题
Chart1.ChartAreas["ChartArea1"].AxisX.TitleAlignment = StringAlignment.Far;//设置Y轴标题的名称所在位置位远
Chart1.ChartAreas["ChartArea1"].AxisY.Title = "金牌";//X轴标题
Chart1.ChartAreas["ChartArea1"].AxisY.TitleAlignment = StringAlignment.Far;//设置Y轴标题的名称所在位置位远
Chart1.ChartAreas["ChartArea1"].AxisX.Interval = 1;//X轴数据的间距
Chart1.ChartAreas["ChartArea1"].AxisX.MajorGrid.Enabled = false;//不显示竖着的分割线
Chart1.Series[0].IsValueShownAsLabel = true;//显示坐标值
#endregion
}
protected void GetStyle2(DataTable dt)
{
#region 样条图(平滑曲线)
Chart2.DataSource = dt;//绑定数据
Chart2.Series["Series1"].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Spline;//设置图表类型
Chart2.Series["Series1"].MarkerStyle = System.Web.UI.DataVisualization.Charting.MarkerStyle.Cross;//设置点的样式,十字形
Chart2.Series[0].XValueMember = "Country";//X轴数据成员列
Chart2.Series[0].YValueMembers = "Score";//Y轴数据成员列
Chart2.ChartAreas["ChartArea1"].AxisX.Title = "国家";//X轴标题
Chart2.ChartAreas["ChartArea1"].AxisX.TitleAlignment = StringAlignment.Far;//设置Y轴标题的名称所在位置位远
Chart2.ChartAreas["ChartArea1"].AxisY.Title = "金牌";//X轴标题
Chart2.ChartAreas["ChartArea1"].AxisY.TitleAlignment = StringAlignment.Far;//设置Y轴标题的名称所在位置位远
Chart2.ChartAreas["ChartArea1"].AxisX.Interval = 1;//X轴数据的间距
Chart2.ChartAreas["ChartArea1"].AxisX.MajorGrid.Enabled = false;//不显示竖着的分割线
Chart2.Series[0].IsValueShownAsLabel = true;//显示坐标值
#endregion
}
protected void GetStyle3(DataTable dt)
{
#region 条形图
Chart3.DataSource = dt;//绑定数据
Chart3.Series["Series1"].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Bar;//设置图表类型
Chart3.Series[0].XValueMember = "Country";//X轴数据成员列
Chart3.Series[0].YValueMembers = "Score";//Y轴数据成员列
Chart3.ChartAreas["ChartArea1"].AxisX.Title = "国家";//X轴标题
Chart3.ChartAreas["ChartArea1"].AxisX.TitleAlignment = StringAlignment.Far;//设置Y轴标题的名称所在位置位远
Chart3.ChartAreas["ChartArea1"].AxisY.Title = "金牌";//X轴标题
Chart3.ChartAreas["ChartArea1"].AxisY.TitleAlignment = StringAlignment.Far;//设置Y轴标题的名称所在位置位远
Chart3.ChartAreas["ChartArea1"].AxisX.Interval = 1;//X轴数据的间距
Chart3.ChartAreas["ChartArea1"].AxisX.MajorGrid.Enabled = false;//不显示竖着的分割线
Chart3.Series[0].IsValueShownAsLabel = true;//显示坐标值
#endregion
}
protected void GetStyle4(DataTable dt)
{
#region 饼形图
Chart4.DataSource = dt;//绑定数据
Chart4.Series["Series1"].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Pie;//设置图表类型
Chart4.Series[0].XValueMember = "Country";//X轴数据成员列
Chart4.Series[0].YValueMembers = "Score";//Y轴数据成员列
Chart4.Series[0].LegendMapAreaAttributes = "Country"; //显示国家
Chart4.Series[0].IsValueShownAsLabel = true;//显示坐标值
#endregion
}
///
/// 创建一张二维数据表
///
/// Datatable类型的数据表
protected DataTable CreatData()
{
DataTable dt = new DataTable();
dt.Columns.Add("Country", System.Type.GetType("System.String"));
dt.Columns.Add("Score", System.Type.GetType("System.String"));
string[] n = new string[] { "中国","美国", "俄罗斯", "英国" };
string[] c = new string[] { "85","80", "50", "35" };
for (int i = 0; i < 4; i++)
{
DataRow dr = dt.NewRow();
dr["Country"] = n[i];
dr["Score"] = c[i];
dt.Rows.Add(dr);
}
return dt;
}
}