我在定位图例时遇到问题,以适应不断变化的图形数据值。
Zedgraph Y轴刻度设置为auto - GraphPane.YAxis.Scale.MinAuto = true。 该图表填充有由组合框选择的不同数据stes。 这显然会导致Scale.Min值波动。 我有一个位于最小值线下的图例。当我选择不同的来源时,这个图例的位置会跳转。
如何指定图例位置,使其无论输入如何都保持在同一位置? 我需要的是获得轴最小值并将其偏移负值,使其恰好位于图形数据之下。 如果规模为零,那将很容易,但随着它的变化,我失去了......
这些照片显示了图例如何随着不同的数据而移动。
这是引用文字展示位置的代码。 表示UNKNOWN的偏移值是我每次需要确定的值。
TextObj Qtr1Text = new TextObj("Q" + Qtr1 + " 16", dQtrFirst, myPane.YAxis.Scale.Min - UNKNOWN);
如图所示,' Q2 16'偏移量为0.08。
或者可能有更好的方法来做这一切?
答案 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”。