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 中的所有数据点并检查它是否在当前屏幕矩形中。
我正在使用 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 中的所有数据点并检查它是否在当前屏幕矩形中。