Compartir a través de


Buscar en los puntos de datos (Controles Chart)

Puede buscar entre los valores X e Y de los puntos de datos de una serie para encontrar un intervalo de valores o un valor específico. La búsqueda en los puntos de datos con valores específicos es útil para:

  • Comprobar un intervalo de valores.

  • Cambiar la apariencia visual de puntos que tienen un cierto valor.

  • Establecer etiquetas de puntos.

  • Utilizar la posición de un punto para el dibujo personalizado.

Buscar en los puntos de datos

La propiedad de la colección Series.Points expone varios métodos para buscar en los puntos.

  • FindValue
    Devuelve el primer punto de una serie con el valor especificado.

  • FindMaxValue
    Devuelve el primer punto de una serie con el valor más grande.

  • FindMinValue
    Devuelve el primer punto de una serie con el valor más pequeño.

Nota

Estos métodos devuelven un valor nulo si ningún punto coincide con el criterio de búsqueda.

Utilice cada uno de estos métodos en un bucle para buscar todos los puntos que satisfacen un criterio de búsqueda. Para encontrar todos los puntos de un índice de inicio predefinido, utilice uno de los métodos con un parámetro startFromIndex. Si proporciona este parámetro, el método también lo utiliza para indicar el índice del punto de datos devuelto.

El siguiente código muestra cómo buscar en los puntos de datos por el primer valor de Y.

' Find the first data point with the maximum Y value.
Dim maxDataPoint As DataPoint = mySeries.Points().FindMaxValue()
' Find the first data point with the minimum Y value.
Dim minDataPoint As DataPoint = mySeries.Points().FindMinValue()
' Find the first data point with a first Y value of 10.
Dim dataPoint As DataPoint = mySeries.Points().FindValue(10.0)
// Find the first data point with the maximum Y value.  
DataPoint maxDataPoint = mySeries.Points().FindMaxValue();
// Find the first data point with the minimum Y value.
DataPoint minDataPoint = mySeries.Points().FindMinValue();
// Find the first data point with a first Y value of 10.
DataPoint dataPoint = mySeries.Points().FindValue(10);

Para buscar en un valor como X o Y2, proporcione el nombre del valor. El siguiente código muestra cómo buscar en los puntos de datos por el valor de X.

' Find first data point with the maximum X value.
Dim maxDataPoint As DataPoint = mySeries.Points().FindMaxValue("X")
' Find the first data point with the minimum second Y value.
Dim minDataPoint As DataPoint = mySeries.Points().FindMinValue("Y2")
' Find first data point with an X value of "1/1/2001".
Dim dataPoint As DataPoint = mySeries.Points().FindValue(DateTime.Parse("1/1/2001").ToOADate(), "X")
// Find first data point with the maximum X value.
DataPoint maxDataPoint = mySeries.Points().FindMaxValue("X");
// Find the first data point with the minimum second Y value.
DataPoint minDataPoint = mySeries.Points().FindMinValue("Y2");
// Find first data point with an X value of "1/1/2001".
DataPoint dataPoint = mySeries.Points().FindValue(DateTime.Parse("1/1/2001").ToOADate(), "X");

Buscar en varios puntos

Para encontrar todos los puntos de datos que satisfacen un criterio de búsqueda:

  • Proporcione el índice del punto inicial de la búsqueda mediante el parámetro startFromIndex .

  • Realice una llamada al método en un bucle e incremente el índice con cada llamada sucesiva al método.

El siguiente código muestra cómo buscar el valor 10 en el segundo valor de Y y restablecer el color de los puntos de datos resultantes.

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  'Find all points with a second Y value equal to 10, and change their color.
  Dim index As Integer = 0
  'Find first point with a Y2 value of 10.
  Dim dataPoint As DataPoint = Chart1.Series("Series1").Points.FindValue(10, "Y2", index)
  While Not (dataPoint Is Nothing)
        dataPoint.Color = Color.FromArgb(255, 128, 128)
        'Find all other data points with a second Y value 10.
        index += 1
        dataPoint = Chart1.Series("Series1").Points.FindValue(10, "Y2", index)
  End While
End Sub
private void Page_Load(object sender, System.EventArgs e)
{
    // Find all points with a second Y value equal to 10, and change their color.
    int index = 0;
    // Find first point with a Y2 value of 10.
    DataPoint dataPoint = Chart1.Series("Series1").Points.FindValue(10, "Y2", index);
    while(!(dataPoint == null)) 
    {
        dataPoint.Color = Color.FromArgb(255, 128, 128);
        // Find all other data points with a second Y value 10.
        index++;
        dataPoint = Chart1.Series("Series1").Points.FindValue(10, "Y2", index);
    }
}

Vea también

Referencia

System.Windows.Forms.DataVisualization.Charting

System.Web.UI.DataVisualization.Charting

Otros recursos

Enlazar y manipular datos

Agregar datos

Utilizar los puntos de datos vacíos