|
カテゴリ:C#
【環境】
OS:Windows 7 VS:Visual Studio 2008 SP1 言語:C# 【背景】 C#で使える便利なグラフ表示ライブラリを探していたところ,なんとマイクロソフトで発見。 その名もMsChart。フリーで配布しています。 インストール方法などは検索すれば簡単にわかりますが,一例として私が参考にしたページはこちら。 MSChartコントロール 使い方のサンプル(特にDataTableを使ったもの)が少ないため,ここにまとめておきます。 【実行結果】 ![]() 【注意事項】 サンプルコードでは,Visual Studio のツールボックスを使ってチャートオブジェクトを貼り付けています。 自動生成されるForm1.Designer.csのコードは省略します。 Form1.csに記述した部分を以下に示します。 なお,わかりやすくするために,MsChartの変数宣言をForm1.csへ移動しました。 【サンプルコード】 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; // +♪+ MSChartの名前空間 +♪+ using System.Windows.Forms.DataVisualization.Charting; namespace msChartTest { public partial class Form1 : Form { // +♪+ チャート作成関連の変数 +♪+ private DataTable tblSample = new DataTable("sample"); // データ格納テーブル private Chart chartSample = new Chart(); // MSChart:自動生成の場合は省略 public Form1() { InitializeComponent(); // 自動で生成,コードは省略(この中でChartオブジェクトも貼付け) RefreshChart(); // チャート表示 } // +♪+ チャート表示メソッド +♪+ public void RefreshChart() { // チャートシリーズのクリア if (chartSample.Series.Count > 0) chartSample.Series.Clear(); // チャートシリーズの追加 Series series1 = new Series("y1"); chartSample.Series.Add(series1); chartSample.Series["y1"].ChartType = SeriesChartType.Line; chartSample.Series["y1"].MarkerStyle = MarkerStyle.Circle; chartSample.Series["y1"].MarkerSize = 10; chartSample.Series["y1"].BorderWidth = 4; Series series2 = new Series("y2"); chartSample.Series.Add(series2); chartSample.Series["y2"].ChartType = SeriesChartType.Line; chartSample.Series["y2"].MarkerStyle = MarkerStyle.Square; chartSample.Series["y2"].MarkerSize = 10; chartSample.Series["y2"].BorderWidth = 4; // チャート用のデータ格納テーブルに列追加 tblSample.Columns.Add("x"); tblSample.Columns.Add("y1"); tblSample.Columns.Add("y2"); // チャート用のデータ生成 Random random = new Random(); for( int row = 0; row < 10; row++ ) { DataRow dRow = tblSample.NewRow(); dRow["x"] = row; dRow["y1"] = random.Next(45, 95); dRow["y2"] = random.Next(25, 50); tblSample.Rows.Add(dRow); } // チャート用のデータソース設定 chartSample.DataSource = tblSample; chartSample.Series["y1"].XValueMember = "x"; chartSample.Series["y1"].YValueMembers = "y1"; chartSample.Series["y2"].XValueMember = "x"; chartSample.Series["y2"].YValueMembers = "y2"; } } } お気に入りの記事を「いいね!」で応援しよう
最終更新日
2009年12月22日 20時43分23秒
コメント(0) | コメントを書く
[C#] カテゴリの最新記事
|