Chartコントロール(VB2008版)でデータポイントラベルの表示(VB.NET) (No.1の個別表示) [スレッド一覧へ] |
- 日時: 2010/03/10 15:37
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,基本設定,グラフ,データポイントラベル * *********************************************************************************** 投 稿 日 : 2010/03/10 投 稿 者 : 花ちゃん
Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click '2.データポイントラベルの表示 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
'■------------------- データポイントラベルの設定・表示 ----------------Start--■ 'データポイントラベルを表示 .Series(i - 1).Label = "#VALY"
'文字色をBlueに設定 .Series(i - 1).LabelForeColor = Color.Blue .Series(i - 1).Font = New Font("MS P明朝", 10, FontStyle.Bold) '■---------------------------------------------------------------------End----■
Next End With End Sub
|
Chartコントロール(VB2008版)で棒のカラーを指定の色に設定(VB.NET) (No.2の個別表示) [スレッド一覧へ] |
- 日時: 2012/03/05 21:25
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,基本設定,グラフ,系列の色を変更,棒のカラー * *********************************************************************************** 投 稿 日 : 2010/03/10 投 稿 者 : 花ちゃん
Private Sub Button3_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button3.Click '3.棒のカラーを指定の色に設定 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 '■------------------- 棒のカラーを指定の色に設定 ----------------Start--■ Dim Col(5) As Color 'グラフのカラーを設定(お好みで、設定しなくてもOK) Col(0) = Color.DeepSkyBlue : Col(1) = Color.DeepPink : Col(2) = Color.ForestGreen Col(3) = Color.HotPink : Col(4) = Color.BlueViolet : Col(5) = Color.Lime '棒のカラーを指定の色に設定 .Series(i - 1).Color = Col(i - 1)
'データポイントラベルの文字色も同じ色に設定 .Series(i - 1).Label = "#VALY" .Series(i - 1).LabelForeColor = Col(i - 1) '■---------------------------------------------------------------End----■ Next End With
End Sub
※ 上記の他、カスタムパレッドを使用する方法もあります。
|
Chartコントロール(VB2008版)で外形及びバックカラーを設定(VB.NET) (No.3の個別表示) [スレッド一覧へ] |
- 日時: 2010/03/11 07:07
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,基本設定,グラフ,外形を設定,バックカラー * *********************************************************************************** 投 稿 日 : 2010/03/10 投 稿 者 : 花ちゃん
Private Sub Button4_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button4.Click '4.Chartコントロールの外形を設定 Call ChartClar(Chart1) '設定を一旦初期値に戻す。(通常は必要ありません。) With Chart1 '■------------------- Chartコントロールの外形を設定 ----------------Start--■ .BorderSkin.SkinStyle = BorderSkinStyle.Emboss .BackColor = Color.Yellow .ChartAreas(0).BackColor = Color.MistyRose '■------------------------------------------------------------------End----■ 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 End With End Sub
>>6 こちらでも外形を設定しております。(フレームタイプ)
|
Chartコントロール(VB2008版)でグラフの種類を変更する(VB.NET) (No.4の個別表示) [スレッド一覧へ] |
- 日時: 2010/07/11 09:00
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,基本設定,チャートタイプ,グラフの種類 * *********************************************************************************** 投 稿 日 : 2010/03/10 投 稿 者 : 花ちゃん
Private Sub Button5_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button5.Click '5.グラフの種類を変更する 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
'http://msdn.microsoft.com/ja-jp/library/dd489233(VS.100).aspx '■------------------- グラフの種類を変更する ----------------Start--■ '.ChartAreas(0).Area3DStyle.Enable3D = True 3D 表示にする場合
'重なって見えにくい場合は、下記のように表示するグラフの種類の順番を変える '(Series(1) に入れる元のデータの行等の順番を変えるという事です。)
.Series(1).ChartType = DataVisualization.Charting.SeriesChartType.Spline .Series(1).BorderWidth = 3 '折れ線の太さを設定 .Series(0).ChartType = DataVisualization.Charting.SeriesChartType.Area .Series(2).ChartType = DataVisualization.Charting.SeriesChartType.Point .Series(2).MarkerSize = 10 'マーカーのサイズを変更 '■-----------------------------------------------------------End----■
End With End Sub
上記実行図 http://hanatyan.sakura.ne.jp/chart/chart05.png
Chartコントロール(VB2008版)のチャートタイプ一覧 http://hanatyan.sakura.ne.jp/chart/chart1.htm
|
Chartコントロール(VB2008版)でグラフを3Dで表示する(VB.NET) (No.5の個別表示) [スレッド一覧へ] |
- 日時: 2010/03/10 18:39
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,基本設定,チャートタイプ,グラフの種類,立体 * *********************************************************************************** 投 稿 日 : 2010/03/10 投 稿 者 : 花ちゃん
Private Sub Button6_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button6.Click '6.グラフを3Dで表示する 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 = 15 '15度回転(変更すると氏名が全部表示されなくなる) '■---------------------------------------------------------End----■
End With
End Sub
|
Chartコントロール(VB2008版)でグラフのタイトルを設定する(VB.NET) (No.6の個別表示) [スレッド一覧へ] |
- 日時: 2010/03/11 07:04
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,基本設定,タイトル,グラフの表題 * *********************************************************************************** 投 稿 日 : 2010/03/10 投 稿 者 : 花ちゃん
Private Sub Button7_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button7.Click '7.タイトルを設定 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
'■------------------- Chartコントロールの外形を設定 ----------------Start--■ 'スタイルは、18種類程あるのでお好きなのを選んで下さい。 .BorderSkin.SkinStyle = BorderSkinStyle.FrameTitle1 .BorderSkin.BackColor = Color.Blue '■------------------------------------------------------------------End----■
'■------------------- タイトルを設定 ----------------Start--■ .Titles.Add("") With .Titles(0) .Alignment = Drawing.ContentAlignment.TopCenter .ForeColor = Color.White .Font = New Font("MS P明朝", 12, FontStyle.Bold) .Text = "平成21年度期末テスト結果" End With '■----------------------------------------------------End----■
End With
End Sub
上記実行図(外形をフレームのスタイルに設定して、そこにタイトルを設定) http://hanatyan.sakura.ne.jp/chart/chart07.png
|
Chartコントロール(VB2008版)でX軸・Y軸のフォント・線等の設定(VB.NET) (No.7の個別表示) [スレッド一覧へ] |
- 日時: 2010/03/10 18:46
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,基本設定,X軸,Y軸のフォント,目盛線の設定 * *********************************************************************************** 投 稿 日 : 2010/03/10 投 稿 者 : 花ちゃん
Private Sub Button8_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button8.Click '8.X軸・Y軸のフォント・線等の設定 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
'■------------------- X軸・Y軸のフォント・線等の設定 ----------------Start--■ With Chart1.ChartAreas(0) With .AxisX '氏名のフォントの最大値 .LabelAutoFitMaxFontSize = 15 '氏名のフォントの最小値 .LabelAutoFitMinFontSize = 8 'グラフと氏名の間の線の色 .LineColor = Color.Red '氏名毎の区切り線を区切らない .MajorGrid.Interval = 6 End With
With .AxisY .Maximum = 120 '点数の最大値 .Minimum = 0 '点数の最小値 .Interval = 20 '点数のメモリ間隔(20点毎) .LineDashStyle = DataVisualization.Charting.ChartDashStyle.Solid .LabelAutoFitMaxFontSize = 15 .LabelAutoFitMinFontSize = 8 .LineColor = Color.Blue .LineWidth = 2 .LabelStyle.Format = "#,###" '桁区切りで表示の場合
'10点毎に補助線を表示 .MinorGrid.Enabled = True 'True に設定しないと表示しない .MinorGrid.Interval = 10 .MinorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.Dash End With End With '■-------------------------------------------------------------------End----■
End With
End Sub
|
Chartコントロール(VB2008版)で凡例関係の設定(VB.NET) (No.8の個別表示) [スレッド一覧へ] |
- 日時: 2010/03/10 18:49
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,凡例関係の設定 * *********************************************************************************** 投 稿 日 : 2010/03/10 投 稿 者 : 花ちゃん
Private Sub Button9_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button9.Click '9.凡例関係の設定 Call ChartClar(Chart1) '設定を一旦初期値に戻す。(通常は必要ありません。) With Chart1 .Series.Clear() '系列を初期化 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
'■------------------- 凡例の設定 ----------------Start--■ .Series(0).LegendText = "国語の点数" '独自の凡例を設定する .Series(1).LegendText = "数学の点数" '独自の凡例を設定する .Series(2).LegendText = "英語の点数" '独自の凡例を設定する .Legends(0).Alignment = StringAlignment.Near '凡例の縦方向の表示位置 .Legends(0).BorderColor = Color.Red '凡例の枠の線の色 .Legends(0).BackColor = Color.Yellow '凡例のバックカラー .Legends(0).Docking = Docking.Top '凡例の横方向の表示位置 .Legends(0).ShadowOffset = 4 '枠に影を付けて立体的に表示 ' .Legends(0).Enabled = False '凡例を非表示にする
'上記以外の設定については、.Legends(0) のプロパティを調べて見て下さい。 '■-----------------------------------------------End----■
End With
End Sub
|
Chartコントロール(VB2008版)でY軸のタイトル(点数)の設定(VB.NET) (No.9の個別表示) [スレッド一覧へ] |
- 日時: 2010/03/10 18:52
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,Y軸のタイトルの設定 * *********************************************************************************** 投 稿 日 : 2010/03/10 投 稿 者 : 花ちゃん
Private Sub Button10_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button10.Click '10. Y軸のタイトル(点数)の設定 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 '■------------------- Y軸のタイトルの設定 ----------------Start--■ With Chart1.ChartAreas(0).AxisY .Title = "点 数" .TitleAlignment = StringAlignment.Center '中央に表示 .TextOrientation = TextOrientation.Stacked '縦書きで表示 .TitleFont = New Font("MS P明朝", 12, FontStyle.Regular) .TitleForeColor = Color.Blue End With '■---------------------------------------------------------End---■
End With End Sub
|
Chartコントロール(VB2008版)でX軸のタイトル(生徒名)の設定(VB.NET) (No.10の個別表示) [スレッド一覧へ] |
- 日時: 2010/03/10 18:55
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,X軸のタイトルの設定 * *********************************************************************************** 投 稿 日 : 2010/03/10 投 稿 者 : 花ちゃん
Private Sub Button11_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button11.Click '11. X軸のタイトル(生徒名)の設定 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 '■------------------- X軸のタイトル(生徒名)の設定 ----------------Start--■ With Chart1.ChartAreas(0).AxisX .Title = "生 徒 名" .TitleAlignment = StringAlignment.Center '中央に表示 .TextOrientation = TextOrientation.Auto 'Autoで表示 .TitleFont = New Font("MS P明朝", 12, FontStyle.Regular) .TitleForeColor = Color.Green End With '■-----------------------------------------------------------------End---■
End With End Sub
|
Chartコントロール(VB2008版)でマーカの設定(VB.NET) (No.11の個別表示) [スレッド一覧へ] |
- 日時: 2010/03/11 06:49
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,マーカの設定 * *********************************************************************************** 投 稿 日 : 2010/03/10 投 稿 者 : 花ちゃん
Private Sub Button12_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button12.Click '12.マーカの設定 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 '折れ線グラフ .Series(i - 1).ChartType = DataVisualization.Charting.SeriesChartType.Line Next
'■------------------- マーカーの設定 ----------------Start--■ .Series(0).MarkerStyle = MarkerStyle.Star5 'マーカーの種類を指定 .Series(0).MarkerSize = 15 'マーカーの大きさを指定 .Series(0).MarkerColor = Color.Gold 'マーカーのカラーを設定 '小さな画像ファイルを準備しておいて下さい。 .Series(1).MarkerImage = "Marker.png" '指定の画像をマーカーに .Series(1).MarkerStyle = MarkerStyle.Circle .Series(2).MarkerStyle = MarkerStyle.Triangle .Series(2).MarkerSize = 10 'マーカーの大きさを指定
'■---------------------------------------------------End----■
End With End Sub
上記実行図 http://hanatyan.sakura.ne.jp/chart/chart12.png
|
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
|
Chartコントロール(VB2008版)でカスタム属性を使って描画(VB.NET) (No.13の個別表示) [スレッド一覧へ] |
- 日時: 2010/03/10 19:29
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,カスタム属性を使って描画, * *********************************************************************************** 投 稿 日 : 2010/03/10 投 稿 者 : 花ちゃん
Private Sub Button14_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button14.Click '14.カスタム属性を使って描画 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 '■------------------- 棒のカラーを指定の色に設定 ----------------Start--■ Dim Col(5) As Color 'グラフのカラーを設定(お好みで、設定しなくてもOK) Col(0) = Color.DeepSkyBlue : Col(1) = Color.DeepPink : Col(2) = Color.ForestGreen Col(3) = Color.HotPink : Col(4) = Color.BlueViolet : Col(5) = Color.Lime '棒のカラーを指定の色に設定 .Series(i - 1).Color = Col(i - 1) 'データポイントラベルの文字色も同じ色に設定 .Series(i - 1).Label = "#VALY" .Series(i - 1).LabelForeColor = Col(i - 1) '■---------------------------------------------------------------End----■
Next '■------------------- カスタム属性を使って描画 ----------------Start--■ '3.棒のカラーを指定の色に設定 のコードに下記の1行を追加するだけです。 .Series(0)("DrawingStyle") = "Cylinder" .Series(1)("DrawingStyle") = "Emboss" .Series(2)("DrawingStyle") = "Wedge"
'■-------------------------------------------------------------End----■
'カスタム プロパティの特性 '-------------------------------------------------------------------------------- '該当するグラフの種類 ' Bar, Column, Stacked Bar, 100% Stacked Bar, Stacked Column, 100% Stacked Column, Range Bar, Range Column '該当するグラフ要素 ' Series, DataPoint '値の範囲 ' Cylinder, Emboss, LightToDark, Wedge, Default '既定値 ' Default '2D または 3D ' 「2 d、%3d
End With End Sub
上記実行図 http://hanatyan.sakura.ne.jp/chart/chart14.png
|
Chartコントロール(VB2008版)で注釈を表示(VB.NET) (No.14の個別表示) [スレッド一覧へ] |
- 日時: 2010/03/10 19:30
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,注釈を表示, * *********************************************************************************** 投 稿 日 : 2010/03/10 投 稿 者 : 花ちゃん
Private Sub Button15_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button15.Click '15.注釈を表示 Call ChartClar(Chart1) '設定を一旦初期値に戻す。(通常は必要ありません。) With Chart1 '注釈の表示位置をデータポイントで指定する必要があるので下記のような設定になっています。 '(もう少し解りやすいやり方があるのかも知れませんが取りあえずという事で) Dim series(ds.Tables(0).Columns.Count - 1) As Series For i As Integer = 1 To ds.Tables(0).Columns.Count - 1 'Debug.Print(ds.Tables(0).Columns(i).ColumnName) '系列の作成(国語・数学・英語) series(i - 1) = New Series series(i - 1).Name = ds.Tables(0).Columns(i).ColumnName Next i For j As Integer = 1 To ds.Tables(0).Columns.Count - 1 For i As Integer = 0 To ds.Tables(0).Rows.Count - 1 '点数の取得(69,87,74,71,84,81,80,82,69,86,73,72,96,81,75) 'Debug.Print(CType(ds.Tables(0).Rows(i).Item(j), Integer).ToString) series(j - 1).Points.Add(CType(ds.Tables(0).Rows(i).Item(j), Integer)) Next i Next j For i As Integer = 1 To ds.Tables(0).Columns.Count - 1 '取得したデータを書き込み Chart1.Series.Add(series(i - 1)) Next i
'■------------------- 注釈を設定 ----------------Start--■ Dim ca As New CalloutAnnotation() ca.Name = "CA1" ca.CalloutStyle = CalloutStyle.Cloud '他7種類の形があります ca.Text = "帰国子女なので" '注釈の文字 ca.ForeColor = Color.Red ca.Font = New Font("MS P明朝", 11, FontStyle.Bold) ca.BackColor = Color.Yellow ca.ShadowColor = Color.Blue ca.ShadowOffset = 3 '表示位置の設定 ca.AnchorDataPoint = Chart1.Series("英語").Points(2) Chart1.Annotations.Add(ca) '■-----------------------------------------------End----■
End With For i As Integer = 1 To ds.Tables(0).Rows.Count With Chart1.ChartAreas(0).AxisX 'ラベルの作成(浅野・安室・加藤・斉藤・鈴木) .CustomLabels.Add(i * 2, 0, ds.Tables(0).Rows(i - 1).Item(0).ToString) End With Next i
'■------------------- X軸・Y軸のフォント・線等の設定 ----------------Start--■ With Chart1.ChartAreas(0).AxisY .Maximum = 120 '点数の最大値(注釈が下に表示されてしまうので、最大値を大きくして上に表示するように) .Minimum = 0 '点数の最小値 .Interval = 20 '点数のメモリ間隔(20点毎) End With '■-------------------------------------------------------------------End----■
End Sub
上記実行図 http://hanatyan.sakura.ne.jp/chart/chart15.png
|
Chartコントロール(VB2008版)で背景をグラデーションで描画(VB.NET) (No.15の個別表示) [スレッド一覧へ] |
- 日時: 2010/03/10 19:10
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,背景をグラデーションで描画, * *********************************************************************************** 投 稿 日 : 2010/03/10 投 稿 者 : 花ちゃん
Private Sub Button16_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button16.Click '背景をグラデーションで描画 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 .Series(i - 1)("DrawingStyle") = "Cylinder" Next
'■------------------- 背景をグラデーションで描画 ----------------Start--■ .BackGradientStyle = GradientStyle.TopBottom .BackColor = Color.MintCream .BackSecondaryColor = Color.Gold .ChartAreas("ChartArea1").BackGradientStyle = GradientStyle.TopBottom .ChartAreas("ChartArea1").BackColor = Color.White .ChartAreas("ChartArea1").BackSecondaryColor = Color.LightPink '■---------------------------------------------------------------End----■
End With
End Sub
|
Chartコントロール(VB2008版)でChartの印刷関係の設定(VB.NET) (No.16の個別表示) [スレッド一覧へ] |
- 日時: 2010/03/26 10:29
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][印刷関係][] * * キーワード:Microsoft Chart Controls,グラフを印刷,ページ設定,印刷プレビュー * *********************************************************************************** 投 稿 日 : 2010/03/26 投 稿 者 : 花ちゃん
下記コードだけで、表示中のグラフが印刷でき、簡単で便利かと。 印刷プレビュー等必要なければ削除して、Chart1.Printing.Print(False) の1行だけでも OK です。
Private Sub Button17_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button17.Click 'Chartの印刷関係の設定(別途、グラフは表示しておいて下さい。) '下記コード以外にコントロールの貼付とかは必要ありません。
'■------------------- Chartの印刷設定 ----------------Start--■ 'ページ設定ダイアログボックスを表示 Chart1.Printing.PageSetup() '印刷プレビューを表示 Chart1.Printing.PrintPreview() 'True で印刷のダイアログを表示して印刷(False で直ちに印刷) Chart1.Printing.Print(True) '■----------------------------------------------------End----■
End Sub
|
Chartコントロール(VB2008〜版)で行と列を入れ替えて表示(VB.NET) (No.17の個別表示) [スレッド一覧へ] |
- 日時: 2012/07/04 14:01
- 名前: VBレスキュー(花ちゃん)
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,MSChart,行/列切り替え,系列入れ替え,行と列 * *********************************************************************************** '=================================================================================================== '投 稿 日:2012.07.04 '投 稿 者:VBレスキュー(花ちゃん) 'タイトル:Chartコントロール(VB2008〜版)で行と列を入れ替えて表示 '========1=========2=========3=========4=========5=========6=========7=========8=========9=========0 動作確認:WindowsVista / Windows 7 / Excel 2007/2010 VB2010 / Framework 4 / ターゲットCPU:X86 [Option Compare Text] [Option Explicit On] [Option Infer On] [Option Strict On]で設定 '---------------------------------------------------------------------------------------------------
'チャート関係の名前空間です。 Imports System.Windows.Forms.DataVisualization.Charting
Public Class Form1
Private frgRowCol As Boolean Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim ds As New DataSet Using cn As New System.Data.OleDb.OleDbConnection Dim csvFileName As String = "Chart.csv" ' fileName cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "..\..\..\data\" & _ ";Extended Properties=""Text;HDR=YES;IMEX=1;FMT=Delimited""" Using da As System.Data.OleDb.OleDbDataAdapter = _ New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM " & "Chart.csv", cn) da.Fill(ds, "Table1") Chart1.DataSource = ds End Using End Using
frgRowCol = Not frgRowCol 'クリック毎に行と列を入れ替えるフラグ Chart1.Series.Clear() '系列(データ関係)の初期化
If frgRowCol Then '通常の読み込み表示 For i As Integer = 1 To ds.Tables(0).Columns.Count - 1 Dim columnName As String = ds.Tables(0).Columns(i).ColumnName.ToString() Chart1.Series.Add(columnName) Chart1.Series(columnName).ChartType = DataVisualization.Charting.SeriesChartType.Column Chart1.Series(columnName).XValueMember = ds.Tables(0).Columns(0).ColumnName.ToString() Chart1.Series(columnName).YValueMembers = columnName Next i Else '行と列を入れ替えて読み込み表示 For i As Integer = 0 To ds.Tables(0).Rows.Count - 1 '浅野・安室 等の氏名を系列名に設定 'Debug.Print(Chart1.Series(i).Name) Dim columnName As String = ds.Tables(0).Rows(i).Item(0).ToString() Chart1.Series.Add(columnName) '系列毎にグラフの種類を設定 Chart1.Series(columnName).ChartType = SeriesChartType.Column For j As Integer = 1 To (ds.Tables(0).Columns.Count) - 1 Dim YVal As String = CStr(ds.Tables(0).Rows(i).Item(ds.Tables(0).Columns(j).ColumnName)) 'Debug.Print(Chart1.Series(columnName).Name & " " & ds.Tables(0).Columns(j).ColumnName & " : " & YVal) '氏名毎に、科目名と点数を個別にコレクションの末尾に追加(浅野= 国語,69,数学, 81,英語,73) Chart1.Series(columnName).Points.AddXY(ds.Tables(0).Columns(j).ColumnName, YVal) Next j Next i 'Debug.Print(Chart1.Series(0).Points.Item(0).AxisLabel.ToString) 'Debug.Print(Chart1.Series(0).Points.Item(0).YValues(0).ToString) End If
'正しく入れ替っているか?確認の為に表示 '■------------------- データポイントラベルの設定・表示 ----------------Start--■ For i As Integer = 0 To Chart1.Series.Count - 1 With Chart1.Series(i) 'データラベルにデータポイントの Y 値を表示 .Label = "#VALY" 'マクロ(キーワード)で指定 注@ 参照 .LabelForeColor = Color.Blue .Font = New Font("MS P明朝", 10, FontStyle.Regular) End With Next '■---------------------------------------------------------------------End----■ End Sub
End Class
|