グラフの表示設定 (グラフのレイアウト)

全体の設定 (ZedGraphControlクラス)

主要なプロパティ
プロパティ 内容
GraphPane グラフ表示部。(実際にはMasterPaneオブジェクトのリストの最初のオブジェクト)
MasterPane グラフ表示部のリスト。コントロール内に複数のグラフを作成する場合に使用する。
IsShowHScrollBar 水平スクロールバーを表示するかどうか。
IsShowVScrollBar 垂直スクロールバーを表示するかどうか。
IsAutoScrollRange スクロールバーのスクロールボックスの大きさを自動で設定するかどうか。
IsScrollY2 垂直スクロールバーをスクロールしたときに、第2 Y軸もスクロールされるようにするかどうか。
主要なイベント
イベント 説明
PointValueEvent マウスを重ねたときにツールチップが表示されるときに発生し、ツールチップをカスタマイズできる。
ContextMenuBuilder コンテキストメニューが表示されるときに発生し、コンテキストメニューをカスタマイズできる。
ZoomEvent ズームやパンされたときに発生する。

ZedGraphControlのプロパティやイベントは、プロパティ ウィンドウからも設定できます。

グラフ表示部の設定 (GraphPaneクラス)

主要なプロパティ
プロパティ 内容
Title Label グラフのタイトル
Legend Legend 凡例
XAxis XAxis X軸
YAxis YAxis Y軸
X2Axis X2Axis 第2 X軸
Y2Axis Y2Axis 第2 Y軸
Chart Chart 図表
CurveList CurveList グラフのデータ
(CurveItemクラスのリスト)
GraphObjList GraphObjList テキストボックスなどのオブジェクト
(GraphObjクラスのリスト)

グラフ表示部にはグラフ以外にも、いくつかのオブジェクトを追加できます。

Axisクラス

XAxisやYAxisクラスの基本クラスです。

プロパティ
プロパティ 内容
Title 軸のタイトル
MajorTic 目盛り
MajorGrid 目盛り線
MinorTic 補助目盛り
MinorGrid 補助目盛り線

AxisLabelクラス

XAxisやYAxisクラスのTitleプロパティのクラスであり、軸のタイトルの表示をカスタマイズします。

プロパティ
プロパティ 内容
Text ラベルの表示文字列
FontSpec ラベルのフォント
Gap  
IsVisible  
IsOmitMag  
IsTitleAtCross  

サンプルコード

// ZedGraphControlのインスタンスから GraphPaneへの参照を取得する
GraphPane graphPane = this.zedGraphControl.GraphPane;

// タイトルと軸ラベルを設定する
graphPane.Title.Text = "サンプル グラフ";     // グラフ タイトル
graphPane.XAxis.Title.Text = "時間、日付";    // X軸ラベル
graphPane.YAxis.Title.Text = "パラメータA";   // Y軸ラベル
graphPane.Y2Axis.Title.Text = "パラメータB";  // 第2Y軸ラベル


// X軸の目盛線を表示する
graphPane.XAxis.MajorGrid.IsVisible = true;


// Y軸の色を赤くする
graphPane.YAxis.Scale.FontSpec.FontColor = Color.Red;  // 目盛り数値
graphPane.YAxis.Title.FontSpec.FontColor = Color.Red;  // 軸ラベル

// Y軸の反対側の目盛りを非表示にする
graphPane.YAxis.MajorTic.IsOpposite = false;  // 目盛り
graphPane.YAxis.MinorTic.IsOpposite = false;  // 補助目盛り

// 数値がゼロの位置に線を表示しないようにする
graphPane.YAxis.MajorGrid.IsZeroLine = false;

// Y軸の目盛り数値の表示位置を内側に寄せる
graphPane.YAxis.Scale.Align = AlignP.Inside;

// Y軸の範囲を設定する
graphPane.YAxis.Scale.Min = -30.0; // 最小値
graphPane.YAxis.Scale.Max = 30.0;  // 最大値


// 第2Y軸を有効にする
graphPane.Y2Axis.IsVisible = true;

// 第2Y軸の色を青くする
graphPane.Y2Axis.Scale.FontSpec.FontColor = Color.Blue;  // 目盛り数値
graphPane.Y2Axis.Title.FontSpec.FontColor = Color.Blue;  // 軸ラベル

// 第2Y軸の反対側の目盛りを非表示にする
graphPane.Y2Axis.MajorTic.IsOpposite = false;  // 目盛り
graphPane.Y2Axis.MinorTic.IsOpposite = false;  // 補助目盛り

// 第2Y軸の目盛線を表示する
graphPane.Y2Axis.MajorGrid.IsVisible = true;

// 第2Y軸の目盛り数値の表示位置を内側に寄せる
graphPane.Y2Axis.Scale.Align = AlignP.Inside;


// グラフの背景色を設定する
graphPane.Chart.Fill = new Fill( Color.White, Color.LightGray, 45.0f );


// テキストボックスを作成する
TextObj text = new TextObj(
    "拡大縮小: クリックしてドラッグ\n" +
    "移動: 中クリックしてドラッグ\n" +
    "コンテキストメニュー: 右クリック",
    0.05f,
    0.95f,
    CoordType.ChartFraction,
    AlignH.Left,
    AlignV.Bottom
    );

text.FontSpec.StringAlignment = StringAlignment.Near;

// GraphPaneに テキストボックスを追加する
graphPane.GraphObjList.Add( text );


// スクロールバーを表示する
this.zedGraphControl.IsShowHScrollBar = true;   // 水平スクロールバー
this.zedGraphControl.IsShowVScrollBar = true;   // 直スクロバ

// スクロールバの幅が自動で定れるよにる
this.zedGraphControl.IsAutoScrollRange = true;

// 垂直スクロールバーをスクロールしたときに 第2Y軸もスクロールされるようにする
this.zedGraphControl.IsScrollY2 = true;


// 軸の範囲を再計算させる
this.zedGraphControl.AxisChange();


実行結果