Microsoft Chart Control でデータ数が多い場合チャートにスクロールバーを付けて表示 (424)
使用コントロール Chart1 Button1
開発環境 WindowsVista VB2010(VS2010 Pro) Framework 4 / ターゲットCPU:X86
[Option Compare Text] [Option Explicit On] [Option Infer On] [Option Strict On]で設定
その他条件 Microsoft Chart Control が使用できる環境
使用データ(kion.csv)は、次よりダウンロードして使って下さい。 chartdat424.zip
下記サンプルは、必ず、CSVファイルを使っての基本的なグラフの表示 をご覧になってからお試しください。

Private Sub Button1_Click(ByVal sender As System.Object, _
             ByVal
 e As System.EventArgs) Handles Button1.Click
 
'※ データファイルは、kion.csv を使って読み込みファイル名も変更してください。
   Call ChartClar(Chart1)  '設定を一旦初期値に戻す。(通常は必要ありません。)
   
With Chart1
     
For i As Integer = 1 To colums
         'データベースから列名を読込(現在の気温・昨日同時刻の気温 等)
         
Dim columnName As String = ds.Tables(0).Columns(i).ColumnName.ToString()
         '系列の設定(現在の気温・昨日同時刻の気温 等)
         .Series.Add(columnName)
         'X 軸のラベルテキストの読込・設定(都市・県名)
         .Series(columnName).XValueMember = ds.Tables(0).Columns(0).ColumnName.ToString()
         'グラフ用のデータの読込・設定(各温度)
         .Series(columnName).YValueMembers = columnName
     
Next
'------------- ここまでは、基本的な表示設定と同じ -----------------------------------------

      '県別の区切りが解りやすいように IntervalOffset = 0.5 で表示
      Chart1.ChartAreas(0).AxisX.MajorGrid.IntervalOffset = 0.5

      '■------------------- 横・スクロールバーを表示 ----------------Start--■
     
Dim sv As AxisScaleView = Chart1.ChartAreas(0).AxisX.ScaleView
     
With sv
         .SmallScrollSize = 1   
' ボタンクリック時のスクロール量
         .Position = 1           
' スクロールバーの初期位置
         .Size = 3               
' 1画面に表示するデータ数(データ数に対する割合で指定する)
     
End With
     
Dim sb As AxisScrollBar = Chart1.ChartAreas(0).AxisX.ScrollBar 'X軸のスクロールバーを設定
     
With sb
         .Size = SystemInformation.VerticalScrollBarWidth       
'スクロールバーの幅を既定の幅に
         .ButtonStyle = ScrollBarButtonStyles.All               
'すべてのボタンを表示
         .IsPositionedInside = 
True                             'チャート領域の内部に配置
         .BackColor = Color.White                               
'スクロールバーの背景色
         .ButtonColor = Color.FromArgb(70, Color.Silver)       
'Color.Silver では暗い色になるので
         .LineColor = Color.Black                               
'枠の線の色
     
End With
      '■-------------------------------------------------------------End----■

'☆★☆★☆★☆★☆★☆★☆★☆★ ここからは、グラフの装飾の部分です ☆★☆★☆★☆★☆★☆★☆★☆★
'
今までのサンプルを参考にそれぞれの好みで設定してください。

      '■------------------- 凡例の設定 ----------------Start--■
       '★  省略
      '■-------------------------------------------------End----■

      '■------------------- 棒のカラーを指定の色に設定 ----------------Start--■

       '★  省略
      '■---------------------------------------------------------------End----■
      '■------------------- タイトルを設定 ----------------Start--■
       '★  省略
      '■----------------------------------------------------End----■
   
End With
End Sub

上記コードの実行結果


元の気温データは、WeatherEye - お天気ポータルサイトの現在の気温ページの表示データを取得して、
CSVファイルに加工したものです。(SampleNo.400 参照 某サイトでの質問に答えて作ったものです。) 

私は、WEB 上からデータを取得して、上記のようにグラフにして表示するまでの一連の動作を
するようにして使っています、全国の気温が一覧でグラフで見比べれるので結構便利です。


2011/05/01

VBレスキュー(花ちゃん)
Visual Basic6.0  VB6.0
VB.NET2003/VB2005/VB2008/VB2010