000000 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

お気楽プログラマーのトラブルいろいろ

お気楽プログラマーのトラブルいろいろ

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

キーワードサーチ

▼キーワード検索

プロフィール

ふわふわふふふ

ふわふわふふふ

カレンダー

楽天カード

お気に入りブログ

まだ登録されていません

コメント新着

お気楽主婦@ Re:助かりました(02/09) 昔の記事ですが、お役に立ててよかったで…
nick@ 助かりました 私もx64とx86で開発してます。 ありがと…
excel 2010 新機能 マクロは便利です!@ excel 2010 新機能 vbaは便利です! vbaをマスターする簡単な方法は、マクロを…

フリーページ

ニューストピックス

2009年12月22日
XML
カテゴリ:C#
【環境】

 OS:Windows 7
 VS:Visual Studio 2008 SP1
 言語:C#

【背景】

 C#で使える便利なグラフ表示ライブラリを探していたところ,なんとマイクロソフトで発見。
 その名もMsChart。フリーで配布しています。

 インストール方法などは検索すれば簡単にわかりますが,一例として私が参考にしたページはこちら。

     MSChartコントロール

 使い方のサンプル(特にDataTableを使ったもの)が少ないため,ここにまとめておきます。

【実行結果】


chartSample.jpg


【注意事項】

 サンプルコードでは,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) | コメントを書く



© Rakuten Group, Inc.