朧の.Netの足跡
問合せ先:support@oborodukiyo.info サイト内検索はこちら
MSチャート 積み上げ面グラフの例





> >

積み上げ面グラフと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;
        }








良いやや良い普通やや悪い悪い

投稿日時評価コメント