ZedGraph Legend文字位置

时间:2016-08-19 02:01:35

标签: c# zedgraph

我在定位图例时遇到问题,以适应不断变化的图形数据值。

Zedgraph Y轴刻度设置为auto - GraphPane.YAxis.Scale.MinAuto = true。 该图表填充有由组合框选择的不同数据stes。 这显然会导致Scale.Min值波动。 我有一个位于最小值线下的图例。当我选择不同的来源时,这个图例的位置会跳转。

如何指定图例位置,使其无论输入如何都保持在同一位置? 我需要的是获得轴最小值并将其偏移负值,使其恰好位于图形数据之下。 如果规模为零,那将很容易,但随着它的变化,我失去了......

这些照片显示了图例如何随着不同的数据而移动。

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

这是引用文字展示位置的代码。 表示UNKNOWN的偏移值是我每次需要确定的值。

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

如图所示,' Q2 16'偏移量为0.08。

或者可能有更好的方法来做这一切?

1 个答案:

答案 0 :(得分: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”。