1

我试图将文本信息放在系列中特定点的上方,并将它们链接起来,这意味着如果我滚动绘图,文本始终相对于系列中的特定点位于相同的位置。像这样:

我可以说我的 int[] 数据的长度是 15,它包含值 {22, 44, 55, 87, 33, 21, 23, 44, 33, 42, 54, 56, 66, 77, 99}

我需要在位置 3 上放置字母“H”,在位置 8 上放置“Z”,在位置 12 上放置“T”。所有注释都靠近绘图区域的顶部。我的代码可以正常显示常规 LineSeries,但我不知道如何添加注释。

    public void SetWaveformData(int[] data)
    {
        PlotModel plotModel = new PlotModel();
        List<DataPoint> dataSeries = new List<DataPoint>();
        int i = 0;
        foreach (int yValue in data)
        {
            dataSeries.Add(new DataPoint { X = i++, Y = yValue });
        }
        LineSeries ser = new LineSeries();
        ser.Points.AddRange(dataSeries);
        plotModel.Series.Add(ser);
    }
4

1 回答 1

4

您可以创建文本注释

var myTextAnnotation = new TextAnnotation();
myTextAnnotation.TextPosition = new DataPoint(3, 55);
myTextAnnotation.Text = "H";

然后将它们添加到绘图模型注释中。

或者

您可以进行一些挖掘并尝试使用系列标签,这里有一个如何使用它的示例,在“LineSeries”类别下称为“标签”:

http://resources.oxyplot.org/examplebrowser/

但在这个例子中,标签是 Y 值,所以你必须找到一种方法来操纵它。

希望这可以帮助!

于 2015-04-30T11:13:20.967 回答