【问题标题】:ZedGraph Legend text LocationZedGraph 图例文本位置
【发布时间】:2016-08-19 02:01:35
【问题描述】:

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

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

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

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

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

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

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

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

【问题讨论】:

    标签: c# zedgraph


    【解决方案1】:

    终于想出了一个可靠的方法来做到这一点。

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

    【讨论】:

      猜你喜欢
      • 2022-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      • 1970-01-01
      相关资源
      最近更新 更多