private void Form1_Load(object sender, EventArgs e)
{
//定义一个表,并添加数据
DataTable tbl = new DataTable();
DataColumn c1 = new DataColumn("c1");
DataColumn c2 = new DataColumn("c2");
DataColumn c3 = new DataColumn("c3");
tbl.Columns.Add(c1);
tbl.Columns.Add(c2);
tbl.Columns.Add(c3);
DataRow r1 = tbl.NewRow();
r1["c1"] = "china";
r1["c2"] = 60;
r1["c3"] = 20;
tbl.Rows.Add(r1);
DataRow r2 = tbl.NewRow();
r2["c1"] = "america";
r2["c2"] = 10;
r2["c3"] = 5;
tbl.Rows.Add(r2);
Series series1 = new Series();
series1.ChartType = SeriesChartType.StackedColumn;
Chart1.Series.Add(series1);
Series series2 = new Series();
series2.ChartType = SeriesChartType.StackedColumn;
Chart1.Series.Add(series2);
Chart1.Series[0].Points.DataBind(tbl.DefaultView, "c1", "c2", "");
Chart1.Series[1].Points.DataBind(tbl.DefaultView, "c1", "c3", "");
Chart1.Series[0].Name = "Rank A";
Chart1.Series[1].Name = "Rank B";
Chart1.Series[0].IsValueShownAsLabel = true;
Chart1.Series[1].IsValueShownAsLabel = true;
Chart1.ChartAreas[0].Area3DStyle.Enable3D = true;
/*删除下面,才能实现累计柱状图(如图1),否则效果(如图2)
目前还没看懂关于Series对象方括号中的这个所谓的自定义属性*/
//foreach (Series s in Chart1.Series)
//{
// s["StackedGroupName"] = s.Name;
//}
}
图1 累计柱状图效果
图2