Oxyplot - 获取可见点

Oxyplot - Get visible Points

我正在使用 OxyPlot 在 StairStepSeries 中绘制大量数据。性能很好,但如果我激活标记,性能会很差。因此,我想执行一个检查:只有在不超过一定数量的可见点时才能激活标记。

是否可以只获取可见点数?我找不到解决办法。我只得到图表的总点数。

我自己还没有测试过。

public int GetNumberOfVisiblePointsOnScreen(StairStepSeries stairStepSeries)
{
    int numberOfVisiblePointsOnScreen = 0;
    foreach (DataPoint point in stairStepSeries.Points) {
        if (stairStepSeries.GetScreenRectangle ().Contains (stairStepSeries.Transform (point)))
            numberOfVisiblePointsOnScreen++;
    }
    return numberOfVisiblePointsOnScreen;
}

GetScreenRectangle() 方法将给出系列当前在屏幕上使用的矩形。遍历 StairStepSeries 中的所有数据点并检查它是否在当前屏幕矩形中。