tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
Microsoft Chart Controls(VB2005〜版)を試して見るその1(VB.NET) ( No.0 )  [親スレッドへ]
日時: 2011/04/27 10:33
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[チャート][描画・画像][]                                  *
* キーワード:Microsoft Chart Controls for Microsoft .NET Framework 3.5,チャート  *
***********************************************************************************
投 稿 日 : 2010/02/26
投 稿 者 : 花ちゃん
'===================================================================================================
'動作確認:Windows 7/WindowsVista/WindowsXP  VB2010/VB2008(EE)/VB2005(EE) Framework 3.5  
'[Option Compare Text] [Option Explicit On] [Option Infer On] [Option Strict On]で設定
'使用コントロール及び配置は、下図を参照して下さい。
'---------------------------------------------------------------------------------------------------

新たに、VB.NET Tips一覧の方に、Microsoft Chart Controls の項を設けて図表付きで詳しく
解説しておりますのでそちらも併せてご覧ください。
 http://www.hanatyan.sakura.ne.jp/dotnet/index.html
 http://www.hanatyan.sakura.ne.jp/dotnet/chartframe.htm



Microsoft Chart Controls for Microsoft .NET の使用方法

 1.Microsoft Chart Controls for Microsoft .NET Framework 3.5 を
   下記サイトよりダウンロードしてインストールする(VB2010ではインストールされているので不要)
  http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c
 2.Microsoft Chart Controls Add-on for Microsoft Visual Studio 2008 を
   下記サイトよりダウンロードしてインストールする
  http://www.microsoft.com/downloads/details.aspx?familyid=1D69CE13-E1E5-4315-825C-F14D33A303E9&displaylang=en
 3.うまくインストールできていれば、ツールボックスの下部の方にChart と
   書いたコントールが表示されているはずです。(Windows Vista VB2008)
 4.表示されていなければ、ツールボックスを右クリックして、[アイテムの選択]
   [.NET Framework コンポーネント]のタブ内の[Chart]を探して見て下さい。
   (通常は、WEB 用と Windows.Form 用の2種類が入っているはずです。)
 5.上記の4で見つからない場合は、一度再起動してからもう一度確認して見て
   下さい。(それでもだめなら1.からやり直して見て下さい。)

  ※ Visual Studio 2008 とか、.NET Framework 3.5 とかがでてきてはいますが、Windows XP / VB2005(
     Express Edition) の環境でも使用できるようです。.NET Framework 3.5(SP1) が入っている必要は
     あると思います。(WindowsXP /VB2005(EE) で動作確認済み)

下記のような CSV ファイルを作ってこのEXE と同じフォルダーに入れて置いて下さい。
     国語   数学   英語
浅野   69    81    73
安室   87    80    72
加藤   74    82    96
斉藤   71    69    81
鈴木   84    86    75

又は、下記よりダウンロードして使って下さい。
http://www.hanatyan.sakura.ne.jp/bbs_gif/ChartDat1.zip

ある掲示板で、Microsoft Chart Controls for Microsoft .NET Framework 3.5 がリリース
された事を知り試したもので、間違いや、もっと簡単な使い方等があるかも知れません。
チャート関係は、複雑なのですべてを試したものでもないし、調べきった訳でもないので
参考程度にしておいて下さい。
詳しい設定方法や使い方をご存じの方は、サンプルを投稿願います。

※ コントロール名が長いのとVB6.0のMSChartコントロールと紛らわしいので今後ここでは、
  Chartコントロール(VB2008版)のように略称名の後ろに(VB2008版)を併記するようにします。
-------------------------------------------------------------------------------------

Imports System.Data.OleDb
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, _
                       ByVal e As System.EventArgs) Handles MyBase.Load
'--------------------------------------------------------------------------------------
'下記の表示設定は、[CSVファイルをADO.NETを使ってDataGridViewに表示(VB.NET)]と同じです。
   Dim ds As New DataSet
   Using cn As New System.Data.OleDb.OleDbConnection
      Dim FolderPath As String = Application.StartupPath()
      Dim csvFileName As String = "test.csv"
      cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FolderPath & _
                  ";Extended Properties=""Text;HDR=YES;IMEX=1;FMT=Delimited"""
      Using da As System.Data.OleDb.OleDbDataAdapter = _
               New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM " & csvFileName, cn)
         da.Fill(ds, "Table1")
      End Using
   End Using

'--------------------------------------------------------------------------------------------
'ここからがグラフの表示設定です。
   Dim Col(5) As Color   'グラフのカラーを設定(お好みで、設定しなくてもOK)
   Col(0) = Color.DeepPink : Col(1) = Color.DeepSkyBlue : Col(2) = Color.ForestGreen
   Col(3) = Color.HotPink : Col(4) = Color.BlueViolet : Col(5) = Color.Lime

   With Chart1
      .Series.Clear()         '系列を初期化
      .DataSource = ds        'Chart に表示するデータソースを設定
      Dim colum As Integer = ds.Tables(0).Columns.Count - 1   'データの系列数を取得
      For i As Integer = 1 To colum
         Dim columnName As String = ds.Tables(0).Columns(i).ColumnName.ToString()
         '系列の設定(国語・数学等)
         .Series.Add(columnName)
         'グラフの種類を縦棒グラフに設定
         .Series(columnName).ChartType = DataVisualization.Charting.SeriesChartType.Column
         'X 軸のラベルテキストの読込・設定(浅野等の氏名)
         .Series(columnName).XValueMember = ds.Tables(0).Columns(0).ColumnName.ToString()
         'グラフ用のデータの読込・設定(点数)
         .Series(columnName).YValueMembers = columnName
         'データポイントラベルを表示
         .Series(i - 1).Label = "#VALY"
         '棒のカラーを指定の色に設定
         .Series(i - 1).Color = Col(i - 1)
      Next
     ' .DataBind()    'データを結合
   End With
End Sub
End Class


上記実行図(画像をクリックすると元のサイズで見られます。)



 [スレッド一覧へ] [親スレッドへ]