積み上げ面グラフと100%積み上げ面グラフの例です。
マーカーのサポートはしていません。
using System.Windows.Forms.DataVisualization.Charting; Chart _chart1 = new Chart(); DataSet _ds = new DataSet(); private void Form6_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); //日付用カラム dt.Columns.Add(new DataColumn("date")); //グラフA用のカラム dt.Columns.Add(new DataColumn("itemA")); //グラフB用のカラム dt.Columns.Add(new DataColumn("itemB")); //グラフC用のカラム dt.Columns.Add(new DataColumn("itemC")); Random rnd = new Random(DateTime.Now.Minute); for (int i = 1; i @ 11; i++) { //新しい行を作成 DataRow dr = dt.NewRow(); dr["date"] = DateTime.Parse("2011/09/" + i.ToString("00")); dr["itemA"] = rnd.Next(100); dr["itemB"] = rnd.Next(100); dr["itemC"] = rnd.Next(100); dt.Rows.Add(dr); } this._ds.Tables.Add(dt); //チャートエリアを作成 this._chart1.ChartAreas.Add("chartArea1"); //グラフAを作成 this._chart1.Series.Add("area_itemA"); //グラフBを作成 this._chart1.Series.Add("area_itemB"); //グラフCを作成 this._chart1.Series.Add("area_itemC"); //凡例を作成 this._chart1.Legends.Add("legend1"); //グラフAの値を表示する this._chart1.Series["area_itemA"].IsValueShownAsLabel = true; //グラフBの値を表示する this._chart1.Series["area_itemB"].IsValueShownAsLabel = true; //グラフCの値を表示する this._chart1.Series["area_itemC"].IsValueShownAsLabel = true; //全てのグラフを積み上げ面グラフ面にする this._chart1.Series["area_itemA"].ChartType = SeriesChartType.StackedArea; //100%積み上げ面グラフならStackedArea100にする this._chart1.Series["area_itemB"].ChartType = SeriesChartType.StackedArea; this._chart1.Series["area_itemC"].ChartType = SeriesChartType.StackedArea; //グラフAをチャートエリア1に設定する this._chart1.Series["area_itemA"].ChartArea = "chartArea1"; //X軸を日付タイプにする this._chart1.Series["area_itemA"].XValueType = ChartValueType.Date; //X軸のデータを設定 this._chart1.Series["area_itemA"].XValueMember = "date"; //Y軸を整数型に設定 this._chart1.Series["area_itemA"].YValueType = ChartValueType.Int32; //Y軸のデータを設定 this._chart1.Series["area_itemA"].YValueMembers = "itemA"; //グラフBをチャートエリア1に設定する this._chart1.Series["area_itemB"].ChartArea = "chartArea1"; //X軸を日付タイプにする this._chart1.Series["area_itemB"].XValueType = ChartValueType.Date; //X軸のデータを設定 this._chart1.Series["area_itemB"].XValueMember = "date"; //Y軸を整数型に設定 this._chart1.Series["area_itemB"].YValueType = ChartValueType.Int32; //Y軸のデータを設定 this._chart1.Series["area_itemB"].YValueMembers = "itemB"; //X軸を日付タイプにする this._chart1.Series["area_itemC"].XValueType = ChartValueType.Date; //X軸のデータを設定 this._chart1.Series["area_itemC"].XValueMember = "date"; //Y軸を整数型に設定 this._chart1.Series["area_itemC"].YValueType = ChartValueType.Int32; //Y軸のデータを設定 this._chart1.Series["area_itemC"].YValueMembers = "itemC"; //データソースを設定 this._chart1.DataSource = this._ds; this._chart1.DataBind(); this.Controls.Add(this._chart1); this._chart1.Dock = DockStyle.Fill; }