2009-05-25 11 views
1

ZedGraphコントロールを使用して、実際の値の軸ラベルを持って、私は13のY値を持つデータをプロットしていますと言う、34、および55ZedGraph(.NET) - 私は私のY軸を設定するにはどうすればよいだけ

そのため、表示される唯一のテキストラベル(と私はグリッド線が同期されると思います)は13,34、および55のものですか?

私のデータの範囲(たとえば、0,25,50,75、など)には規則的な間隔のラベルは付いていません。実際の値にラベルを付けるだけです。

+1

これは役立つかもしれない:提案のための http://stackoverflow.com/questions/816256/zedgraph-labels –

+0

おかげで、残念ながらそれは答えのため多少異なる – xyz

答えて

3

箱からすぐにはできないと思います。

ここには、カスタムTextObjラベルを使用して作成された不十分なハーフソリューションがあります。

まず、あなたは古い軸のスケールを無効にする必要があります。

zg1.MasterPane[0].YAxis.Scale.IsVisible = false; 
zg1.MasterPane[0].YAxis.MajorTic.IsAllTics = false; 

その後、カスタムラベルを作成する必要があります。 y_valsがY値の配列の場合:

foreach (double val in y_vals) 
      { 
       TextObj text = new TextObj(val.ToString(), zg1.MasterPane[0].XAxis.Scale.Min, val); 
       text.Location.AlignH = AlignH.Right; 
       text.FontSpec.Border.IsVisible = false; 
       text.FontSpec.Fill.IsVisible = false; 
       zg1.MasterPane[0].GraphObjList.Add(text); 
      } 

LineObjを使用して同様の方法でカスタムグリッド線を作成できます。ただ、foreachループ内でこれを追加します。

LineObj line = new LineObj(zg1.MasterPane[0].XAxis.Scale.Min, val, zg1.MasterPane[0].XAxis.Scale.Max, val); 
line.Line.Style = System.Drawing.Drawing2D.DashStyle.Dash; 
line.Line.Width = 1f; 
zg1.MasterPane[0].GraphObjList.Add(line); 
+0

おかげです。私はこの質問が長く死んだと思った:-) – xyz

+0

私はstackoverflowに新しく、私は "zedgraph"タグでマークされたいくつかの質問を探していた;)私は後で投稿日に気づいた;) – Gacek

関連する問題