ZedGraph 图例文本位置

ZedGraph Legend text Location

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

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

如何指定图例位置,使其无论输入如何都保持在同一个位置? 我需要的是获取轴最小值并将其偏移负数以使其刚好位于图形数据下方。 如果比例为零会很容易,但随着它的变化,我迷路了...

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

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

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

如图所示,两个'Q2 16'偏移量都是0.08。

或者也许有更好的方法来完成这一切?

终于想出了一个可靠的方法。

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'。