朧の.Netの足跡
問合せ先:support@oborodukiyo.info サイト内検索はこちら
MSチャート 株価チャートの例





> >

MSチャートを使っての株価チャートを作成する例です。
チャートタイプには、CandlestickとStockが使えます。注意が必要なのは、YValueMembersで、複数のデータを指定するときはカンマで区切って指定します。 株価チャートの場合は、高値、安値、始値、終値の順に指定します。

        Chart _chart1 = new Chart();
        DataSet _ds = new DataSet();
        public Form4()
        {
            InitializeComponent();
        }
        private void Form4_Load(object sender, EventArgs e)
        {
            DataTable dt = new DataTable("stock");
            dt.Columns.Add(new DataColumn("date",typeof(DateTime)));
            dt.Columns.Add(new DataColumn("open",typeof(int)));
            dt.Columns.Add(new DataColumn("close", typeof(int)));
            dt.Columns.Add(new DataColumn("high", typeof(int)));
            dt.Columns.Add(new DataColumn("low", typeof(int)));
            Random rnd = new Random(DateTime.Now.Second);
            for (int i = 0; i < 7; i++)
            {
                DataRow dr = dt.NewRow();
                //日付
                dr["date"] = DateTime.Parse("2010/10/" + (i + 1).ToString("00"));
                //高値
                dr["high"] = rnd.Next(1000);
                //安値
                dr["low"] = rnd.Next((int)dr["high"]);
                //始値
                dr["open"] = rnd.Next((int)dr["low"], (int)dr["high"]);
                //終値
                dr["close"] = rnd.Next((int)dr["low"], (int)dr["high"]);
                dt.Rows.Add(dr);
            }
            this._ds.Tables.Add(dt);
            //表示エリアを設定
            this._chart1.ChartAreas.Add(new ChartArea("chart1"));
            //グラフを設定
            this._chart1.Series.Add(new Series("stock_series"));
            //凡例
            this._chart1.Legends.Add(new Legend("legend1"));
            //株価チャートタイプに設定
            this._chart1.Series[0].ChartType = SeriesChartType.Candlestick; //Stockでもよい
            //横軸を日付タイプに設定
            this._chart1.Series[0].XValueType = ChartValueType.Date;
            //縦軸を整数に設定
            this._chart1.Series[0].YValueType = ChartValueType.Int32;
            //横軸をdateに設定
            this._chart1.Series[0].XValueMember = "date";
            //縦軸は、high,low,open,closeの順に設定
            this._chart1.Series[0].YValueMembers = "high,low,open,close";
            //株価上昇時の色(指定したい場合)
            this._chart1.Series[0]["PriceUpColor"] = "Orange";
            //株価下降時の色(指定したい場合)
            this._chart1.Series[0]["PriceDownColor"] = "SkyBlue";            
            //データソースを設定
            this._chart1.DataSource = this._ds;
            this._chart1.DataBind();
            //フォームにチャートコントロールを追加
            this.Controls.Add(this._chart1);
            this._chart1.ChartAreas[0].Visible = true;
            this._chart1.Dock = DockStyle.Fill;
        }








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

投稿日時評価コメント