缩放时获取一组数据点

时间:2012-10-31 13:44:14

标签: c# zoom mschart

我有一个带有Seri​​es(SeriesChartType.Point)的MSChart对象;启用缩放以允许用户放大数据的特定区域。用户放大到该区域后,我有兴趣知道仍然可见的DataPoints集。

有没有办法确定哪些DataPoints仍然可见?

1 个答案:

答案 0 :(得分:0)

以下内容适用于您。我使用Line ChartType对其进行了测试,但只要数据为X,Y(而不是X,Y,Y

,就应该适用于任何绘图类型
    Dim Xmin As Double = aChart.ChartAreas(0).AxisX.ScaleView.ViewMinimum
    Dim Xmax As Double = aChart.ChartAreas(0).AxisX.ScaleView.ViewMaximum

    Dim Ymin As Double = aChart.ChartAreas(0).AxisY.ScaleView.ViewMinimum
    Dim Ymax As Double = aChart.ChartAreas(0).AxisY.ScaleView.ViewMaximum

    Dim VisibleDataPoints As New Series

    For Each pt As System.Windows.Forms.DataVisualization.Charting.DataPoint In aChart.Series(0).Points
        If pt.XValue >= Xmin And pt.XValue <= Xmax Then
            If pt.YValues(0) >= Ymin And pt.YValues(0) <= Ymax Then
                VisibleDataPoints.Points.Add(pt)
            End If
        End If
    Next
    VisibleDataPoints.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line
    VisibleDataPoints.Color = Color.Red
    aChart.Series.Add(VisibleDataPoints)

HTH