2016-08-19 11 views
0

グラフデータ値の変更に対応するために凡例を配置する際に問題があります。ZedGraph凡例テキストの場所

ZedgraphのY軸スケールはauto-GraphPane.YAxis.Scale.MinAuto = trueに設定されています。 グラフには、コンボボックスによって選択されたデータステップが異なります。 これは明らかにScale.Min値が変動する原因となります。 私は凡例を最小値の行の下に置いています。さまざまなソースを選択すると、この凡例の場所が飛び交います。

凡例の位置を入力に関係なく同じ場所に置く方法を指定するにはどうすればよいですか? 私が必要とするのは、軸の最小値を取得し、グラフデータの直下に負の量でオフセットすることです。 スケールがゼロの場合は簡単ですが、変化すると失われてしまいます。

これらの写真は、異なるデータで凡例がどのように動くかを示しています。

Pic showing scale min of 1.2Pic with scale min of 9.5

これは、テキストの配置を参照するコードです。 UNKNOWNを表すオフセット値は、毎回決定する必要があります。

TextObj Qtr1Text = new TextObj("Q" + Qtr1 + " 16", dQtrFirst, myPane.YAxis.Scale.Min - UNKNOWN); 

示されているように、両方の 'Q2 16'オフセットは0.08です。

か、これを行うにはもっと良い方法がありますか?

答えて

0

最後に、これを行う信頼できる方法を見つけました。

double yOffset = (myPane.YAxis.Scale.Max - myPane.YAxis.Scale.Min)/36; //magic number 
TextObj Qtr1Text = new TextObj("Text Value", xLocation, yOffset); 
myPane.GraphObjList.Add(Qtr1Text); 

値36は、あなたが望む負の間隔になるように調整する必要がある任意の数です。 36は上の写真、右手側の「Q3 16」のような間隔を与える。