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





MS Chartでは、いろいろな種類のグラフが表示できます。が、しかし、エクセル程融通が利くかといえば利かないところもあるでしょう。 プロジェクトによっては、グラフはエクセルで見ることにしたほうが良いかもしれません。でも、将来、MS Chartの機能が充実していくことによってこれを使用する場面も 多々出てくるかもしれません。
ここでは、簡単ではありますがMS Chartの基本的なことをやってみるソースを示したいと思います。

.Net Framework 3.5用のMS Chartをインストールするにはこちらからです。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
//MS Chartで必要なアセンブリの参照
using System.Windows.Forms.DataVisualization.Charting;
namespace ChartTest
{
    public partial class Form1 : Form
    {
        DataSet ds = new DataSet();
         //MS Chartの本体
        Chart chart1 = new Chart();
        public Form1()
        {
            InitializeComponent();
            //チャートに表示するグラフのデータの取得
            SqlConnectionStringBuilder bldr = new SqlConnectionStringBuilder();
            bldr.DataSource = @".\SQLExpress";
            bldr.InitialCatalog = "pubs";
            bldr.IntegratedSecurity = true;
            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = bldr.ConnectionString;
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "SELECT SUM(qty) AS Quantity,CONVERT(VARCHAR, YEAR(ord_date)) + '/' + CONVERT(VARCHAR,MONTH(ord_date))+'/' +CONVERT(VARCHAR, DAY(ord_date)) AS SalesDate FROM sales GROUP BY ord_date ORDER BY SalesDate";
            cmd.Connection = conn;
            SqlDataAdapter sda = new SqlDataAdapter();
            sda.SelectCommand = cmd;
            sda.Fill(ds);
            //チャートで使用するデータソースの設定
            chart1.DataSource = ds.Tables[0];
            //グラフを表示する領域のインスタンス生成
            chart1.ChartAreas.Add(new ChartArea("Sales"));
            //グラフのことをSeriesと呼ぶ
            chart1.Series.Add(new Series("Until 2000"));
            //グラフを表示する領域を設定
            chart1.Series["Until 2000"].ChartArea = "Sales";
            //グラフを呼び出すのにインデックスでも可能。
            //X軸の値のカラム名を設定する
            chart1.Series[0].XValueMember = "SalesDate";
            //X軸の値のデータタイプを設定
            chart1.Series[0].XValueType = ChartValueType.Date;
            //同じくY軸についても設定
            chart1.Series[0].YValueMembers = "Quantity";
            chart1.Series[0].YValueType = ChartValueType.Int32;
            //グラフの種類を設定。ここでは棒グラフ
            chart1.Series[0].ChartType = SeriesChartType.Column;
            this.Controls.Add(this.chart1);
            chart1.Dock = DockStyle.Fill;
        }
    }
}








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

投稿日時評価コメント