我正在使用OxyPlot在StairStepSeries中绘制大量数据。性能很好,但是如果我激活Markers则非常糟糕。因此,我想实施一项检查:只有在未超过一定数量的可见点时才能激活标记。
是否有可能只获得可见点数?我找不到解决办法。我只获得图表的总点数。
答案 0 :(得分:1)
我自己没有对此进行测试。
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()方法将为当前在屏幕上使用的系列提供Rectangle。遍历StairStepSeries中的所有DataPoints,并检查它是否在Current屏幕矩形中。