2016-08-19 94 views
0

我有一個定位圖例以適應變化的圖形數據值的問題。ZedGraph圖例文本位置

Zedgraph Y軸縮放比例設置爲自動 - 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'。