tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
Chartコントロール(VB2008版)で表示が重なった場合の対策(VB.NET) ( No.12 )  [親スレッドへ]
日時: 2010/07/11 09:15
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[チャート][描画・画像][]                                  *
* キーワード:Microsoft Chart Controls,表示が重なった場合の対策,背面,全面,半透明  *
***********************************************************************************
投 稿 日 : 2010/03/10
投 稿 者 : 花ちゃん

Private Sub Button13_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button13.Click
'13.表示が重なった場合の対策(後ろに隠れた部分が認識できるように)
   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)
         .Series(columnName).ChartType = DataVisualization.Charting.SeriesChartType.Column
         'X 軸のラベルテキストの読込・設定(浅野等の氏名)
         .Series(columnName).XValueMember = ds.Tables(0).Columns(0).ColumnName.ToString()
         'グラフ用のデータの読込・設定(点数)
         .Series(columnName).YValueMembers = columnName
      Next
      '■------------------- グラフを3Dで表示する ----------------Start--■
      .ChartAreas(0).Area3DStyle.Enable3D = True   '3D 表示にする場合
      .ChartAreas(0).Area3DStyle.Inclination = 15  '15度傾き(変更すると氏名が全部表示されなくなる)
      .ChartAreas(0).Area3DStyle.Rotation = -10    '15度回転(変更すると氏名が全部表示されなくなる)
      '■---------------------------------------------------------End----■

      '■------------------- 列幅を設定 ----------------Start--■
      '一番後ろになる色は目立つ色で
      .Series(0).Color = Color.Red
      '少し目立つ色で半透明で表示
      .Series(1).Color = Color.FromArgb(100, Color.Blue)
      'あまり目立たない色で半透明で表示
      .Series(2).Color = Color.FromArgb(100, Color.Yellow)
      '表示順を変える事で、前面に表示する系列を選択してもOK
      '(Series(1) に入れる元のデータの行等の順番を変えるという事です。)
      '5.グラフの種類を変更する も参考にして下さい。
      '■-----------------------------------------------End----■

   End With

End Sub


※ 表示順を変えるという事をもう少し詳しく説明すると。

通常の場合

Series(0)   = 1行目のデータ
Series(1)   = 2行目のデータ
Series(2)   = 3行目のデータ
Series(3)   = 4行目のデータ(最後のデータ) 'これが最前面に表示される


2行目のデータを最前面に表示したい場合

Series(0)   = 1行目のデータ
Series(1)   = 4行目のデータ
Series(2)   = 3行目のデータ
Series(3)   = 2行目のデータ(入れ替える) 'これで2行目が最前面に表示される

上記のように Series 内に入れる時に最前面に表示したいデータを最後に入れるように
してやればいいのです。
但し、そのままでは、凡例や系列の色も変わってしまうので、変えたくない場合は
系列のカラーも入れ替えるようにして下さい。


  上記実行図
  http://hanatyan.sakura.ne.jp/chart/chart13.png



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