ZedGraph

ZedGraphとは?

ZedGraphは、.Net系の言語で使用することができるグラフィックライブラリで、現状はC#やVB.netで使用できる。
もちろん、インタフェースはDLLなので、がんばればC++でも使用できる。

ZedGraphの入手

公式は、この辺?
でアクセスして、DLLをGETする(本サイトにもこっそりバックアップ)。

ZedGraphのインストール

.Net系の画面設計にて、[ツールボックス]上で右クリックの[アイテムの選択]を選択し、「参照」ボタンを押して、DLしたDLLファイルを指定すればOK
ツールボックスにZedGraphcontrolがインストールされるので、画面に配置する。

ZedGraphのサンプル

配置したZedGraphControlが「ZedGraphControl1」の場合
Imports ZedGraph
Dim myPane As ZedGraph.GraphPane = Me.ZedGraphControl1.GraphPane
Dim list As New ZedGraph.PointPairList
Dim myCurve As ZedGraph.BarItem

グラフ設定は以下のとおり、必要に応じてコメントイン。不要ならコメントアウトすればOK
' 右クリックを封印
ZedGraphControl1.IsShowContextMenu = False
' グラフタイトルを設定
myPane.Title.Text = "熱平衡判定ヒストグラム  "
myPane.YAxis.Title.Text = "チャンネル数"
myPane.XAxis.Title.Text = "温度変化率(℃/分)"
''凡例非表示
myPane.Legend.IsVisible = False
''グラフとのマージ設定()
myPane.Margin.Top = 40
myPane.Margin.Left = 20
myPane.Margin.Bottom = 40
myPane.Margin.Right = 20
''------- Y軸の設定 ----------
'myPane.YAxis.Type = AxisType.Log
'myPane.YAxis.Scale.Min = 0.00001
'myPane.YAxis.Scale.Max = 10000

'myPane.YAxis.MajorGrid.IsVisible = True
myPane.YAxis.MajorTic.IsOpposite = False
myPane.YAxis.MinorTic.IsOpposite = False
myPane.YAxis.MajorTic.Size = 1
myPane.YAxis.MinorTic.Size = 1
myPane.YAxis.Scale.MinorStep = 5
myPane.YAxis.Scale.Format = "0"
myPane.Y2Axis.Scale.MajorStep = 5
'' Y軸最大値設定
myPane.YAxis.Scale.Max = 100
'' Y軸の刻み幅設定
myPane.YAxis.Scale.MajorStep = 10
''------- X軸の設定 ----------
myPane.XAxis.MajorGrid.IsVisible = True
myPane.XAxis.MajorTic.IsOpposite = False
myPane.XAxis.MajorTic.Size = 1
myPane.XAxis.MinorTic.Size = 1
myPane.XAxis.MinorTic.IsOpposite = False
myPane.XAxis.MajorGrid.IsZeroLine = True
myPane.XAxis.Scale.Format = "0.0"
myPane.XAxis.Scale.Min = CSng(-ddlTEMP.Text)
myPane.XAxis.Scale.Max = CSng(ddlTEMP.Text)
'' X軸の刻み幅設定
myPane.XAxis.Scale.MajorStep = 1
'グラフフォント設定
myPane.Title.FontSpec.IsBold = False
myPane.Title.FontSpec.Size = 7
myPane.Title.FontSpec.Family = "Meiryo UI"
myPane.Title.IsVisible = True
myPane.XAxis.Title.FontSpec.Size = 6
myPane.XAxis.Title.FontSpec.IsBold = False
myPane.YAxis.Title.FontSpec.IsBold = False
myPane.YAxis.Title.FontSpec.Size = 6
myPane.XAxis.Scale.FontSpec.Size = 6
myPane.YAxis.Scale.FontSpec.Size = 6
myPane.XAxis.Title.FontSpec.Family = "Meiryo UI"
myPane.YAxis.Title.FontSpec.Family = "Meiryo UI"
myPane.XAxis.Scale.FontSpec.Family = "Meiryo UI"
myPane.YAxis.Scale.FontSpec.Family = "Meiryo UI"

ZedGraphの描画

ZedGraphでは、配列にデータを入れて、表示用の関数を呼ぶ方式
呼んでも表示されないので、画面更新をかけるのを忘れずに
データ格納(下の例では、棒グラフの関数)。グラフの種類によって異なるので注意
list.Clear()
 For i As Single = CSng(-ddlTEMP.Text) To CSng(ddlTEMP.Text) Step 0.1
  ' グラフ描画用配列への代入
   list.Add(i, nCount(m), 1)
 ' 後処理
  m += 1
Next

' グラフ描画
myPane.CurveList.Clear()
myCurve = myPane.AddBar("Curve1", list, Color.Blue)
myCurve.Bar.Fill = New ZedGraph.Fill(Color.Blue, Brushes.Blue, ZedGraph.FillType.Brush)
'Dim colors As Color() = {Color.Red, Color.Yellow, Color.Green, Color.Blue, Color.Green, Color.Yellow, Color.Red}
'myCurve.Bar.Fill = New Fill(colors)
'myCurve.Bar.Fill.Type = FillType.

' グラフの表示
ZedGraphControl1.AxisChange()
ZedGraphControl1.Refresh()
最終更新:2015年01月12日 18:39