2012-10-31 17 views
3

我有一个具有Seri​​es(SeriesChartType.Point)的MSChart对象;启用缩放以允许用户放大数据的特定区域。用户放大到该区域后,我很想知道仍然可见的一组DataPoint。放大时获取一组数据点

有没有办法确定哪些数据点仍然可见?

回答

0

像下面这样的东西应该适合你。我用LineChartType测试,但只要数据是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

任何绘图类型应该工作