DataSeries
Una clase básica genérica abstracta que define un DataSeries que contiene columnas 1..N, como X,Y en el caso de datos simples X,Y, o X, Open, High, Low, Close en el caso de datos OHLC.
Hereda de: BindableObject
Implementa: IDataSeries<T, T>, IDataSeries, ISuspendable
Constructores
protected DataSeries()
dataSeries = DataSeries()
Inicia una nueva instancia de la clase DataSeries.
Propiedades
public bool AcceptsUnsortedData { get; set; }
value = dataSeries.AcceptsUnsortedData
dataSeries.AcceptsUnsortedData = value
Nuevo a v3.3: cuando AcceptsUnsortedData es falso, el DataSeries@ con lanzamiento InvalidOperationException si se anexan datos no variados. Los datos no deseados pueden resultar en un rendimiento mucho más lento. Para desactivar este cheque, establece AcceptsUnsortedData = verdadero.
public int Count { get; }
value = dataSeries.Count
Obtiene el número de puntos en esta serie de datos
public IDataDistributionCalculator<TX> DataDistributionCalculator { get; set; }
value = dataSeries.DataDistributionCalculator
dataSeries.DataDistributionCalculator = value
Consigue o establece la instancia DataDistrutionCalculator para este DataSeries@. Utilizado al reelaborar datos para determinar el algoritmo correcto
public abstract DataSeriesType DataSeriesType { get; }
value = dataSeries.DataSeriesType
Consigue el DataSeriesType para esto DataSeries
public int? FifoCapacity { get; set; }
value = dataSeries.FifoCapacity
dataSeries.FifoCapacity = value
Obtiene o establece el tamaño del búfer FIFO. Si null, entonces las dataseries es ilimitada. Si se establece un valor, cuando el recuento de puntos alcance este valor, los puntos más antiguos serán descartados
public abstract bool HasValues { get; }
value = dataSeries.HasValues
Obtiene si la Serie de Datos tiene valores (no está vacía)
public bool IsAttached { get; }
value = dataSeries.IsAttached
Obtiene un valor indicando si esta instancia está anexada.
public bool IsFifo { get; }
value = dataSeries.IsFifo
Obtiene si las dataseries se comportan como un FIFO Si es cierto, cuando se llega a FifoCapacity@, los viejos puntos serán descartados a favor de nuevos puntos
public virtual bool IsSecondary { get; set; }
value = dataSeries.IsSecondary
dataSeries.IsSecondary = value
Si es cierto, esta serie de datos no será seleccionada para el cálculo del rango de gráficos.
public bool IsSorted { get; }
value = dataSeries.IsSorted
Obtiene si este DataSeries contiene datos clasificados en la dirección X. Nota: Los datos clasificados resultarán en operaciones de indexación mucho más rápidas. Si es posible, trate de mantener sus datos ordenados en la dirección X.
public bool IsSuspended { get; }
value = dataSeries.IsSuspended
Obtiene un valor indicando si las actualizaciones del objetivo están actualmente suspendidas
public TY Item { get; }
value = dataSeries.Item
Obtiene el artículo en el índice desde el especificado DataSeriesColumn@.
public IComparable LatestYValue { get; }
value = dataSeries.LatestYValue
Obtiene el último Y-Value de la DataSeries
public IUltrachartSurface ParentSurface { get; set; }
value = dataSeries.ParentSurface
dataSeries.ParentSurface = value
Obtiene o establece el padre IUltrachartSurface que esta instancia IDataSeries es adjunta a
public string SeriesName { get; set; }
value = dataSeries.SeriesName
dataSeries.SeriesName = value
Obtiene o establece el nombre de esta serie
StockSharp#Xaml#Charting#Model#DataSeries#IDataSeries#XValues
Consigue los valores X de esta serie de datos
StockSharp#Xaml#Charting#Model#DataSeries#IDataSeries#YValues
Consigue los valores Y de esta serie de datos
public Lock SyncRoot { get; }
value = dataSeries.SyncRoot
objeto de sincronización (por ejemplo)
public IComparable XMax { get; }
value = dataSeries.XMax
Obtiene el valor máximo calculado en X para esta serie
public IComparable XMin { get; }
value = dataSeries.XMin
Obtiene el valor mínimo calculado en X para esta serie
public virtual IRange XRange { get; }
value = dataSeries.XRange
Consigue las propiedades computadas XRange, que es una envolvente IRange XMin y XMax
public Type XType { get; }
value = dataSeries.XType
Consigue el tipo de puntos X-data en este DataSeries. Se utiliza para comprobar la compatibilidad con tipos Axis
public IList<TX> XValues { get; }
value = dataSeries.XValues
Consigue los valores X de esta serie
public IComparable YMax { get; }
value = dataSeries.YMax
Obtiene el valor máximo calculado en Y para esta serie
public IComparable YMin { get; }
value = dataSeries.YMin
Obtiene el valor mínimo calculado en Y para esta serie
public virtual IRange YRange { get; }
value = dataSeries.YRange
Consigue las propiedades de YRange computadas, que es una envolvente IRange YMin y YMax propiedades
public Type YType { get; }
value = dataSeries.YType
Consigue el tipo de puntos Y-data en este DataSeries. Se utiliza para comprobar la compatibilidad con tipos Axis
public IList<TY> YValues { get; }
value = dataSeries.YValues
Consigue los valores Y de esta serie
Métodos
public abstract void Append(IEnumerable<TX> x, IEnumerable<TY>[] yValues)
dataSeries.Append(x, yValues)
Apende una lista de puntos X, Y a la serie
- x
- La lista de puntos X
- yValues
- Listas de puntos Y (dependientes del tipo de serie)
public abstract void Append(TX x, TY[] yValues)
dataSeries.Append(x, yValues)
Apende un punto X, Y a la serie
- x
- El valor X
- yValues
- Los valores Y (dependientes del tipo de serie)
public void Clear()
dataSeries.Clear()
Limpia la serie, restablecimiento de listas internas a tamaño cero
protected abstract void ClearColumns()
dataSeries.ClearColumns()
Cuando se sobrescribe en una clase derivada, se aclaran todas las columnas de la serie de datos
public abstract IDataSeries<TX, TY> Clone()
result = dataSeries.Clone()
Crea una copia profunda de un DataSeries
public void DecrementSuspend()
dataSeries.DecrementSuspend()
Llamado por IUpdateSuspender@ cada vez que se elimina un tirante objetivo. Cuando se ha eliminado el tirante final, se llama ResumeUpdates@
public virtual int FindClosestLine(IComparable x, IComparable y, double xyScaleRatio, double xRadius, LineDrawMode drawNanAs)
result = dataSeries.FindClosestLine(x, y, xyScaleRatio, xRadius, drawNanAs)
Encuentra la línea más cercana a un punto con valor X y Y dado. Región de búsqueda es una zona vertical con centro en X y [maxXDistance] X unidades a izquierda y derecha
- x
- El valor X del punto [unidades de datos X, no píxeles]
- y
- El valor Y del punto [Y unidades de datos, no píxeles]
- xyScaleRatio
- xUnitsPerPixel/yUnitsPerPixel
- xRadius
- especifica región de búsqueda en unidades X (ticks para DateTime o TimeSpan)
- drawNanAs
- especifica cómo manejar elementos NAN
Devuelve: El índice de primer punto en línea, -1 si no se encuentra (cuando cuenta es cero)
public virtual int FindClosestPoint(IComparable xValue, IComparable yValue, double xyScaleRatio, double hitTestRadius)
result = dataSeries.FindClosestPoint(xValue, yValue, xyScaleRatio, hitTestRadius)
Encuentra el punto más cercano a un punto con valor X y Y dado. Región de búsqueda es una zona vertical con centro en X y [maxXDistance] X unidades a izquierda y derecha
- xValue
- El valor X del punto [unidades de datos X, no píxeles]
- yValue
- El valor Y del punto [Y unidades de datos, no píxeles]
- xyScaleRatio
- xUnitsPerPixel/yUnitsPerPixel
- hitTestRadius
- Especifica región de búsqueda en coordenadas de mapa (tapas para DateTime o TimeSpan)
Devuelve: El índice del valor encontrado, -1 si no se encuentra (cuando el recuento es cero)
public int FindIndex(IComparable x, SearchMode searchMode)
result = dataSeries.FindIndex(x, searchMode)
Encuentra el índice a la DataSeries@ en el valor X especificado
- x
- El valor X para buscar
- searchMode
- Las opciones SearchMode para usar. Default es exacta, donde -1 es devuelto si el índice no se encuentra
Devuelve: El índice del valor encontrado
public IndexRange GetIndicesRange(IRange range)
result = dataSeries.GetIndicesRange(range)
Consigue los índices enteros de la matriz de los XValues que están actualmente en el VisibleRange@aprobado.
- range
- VisibleRange@ para obtener el rango de índices
Devuelve: Los índices a la X-Data que están actualmente en rango
protected T GetPositiveMin<T>(T positiveMin, T min)
result = dataSeries.GetPositiveMin(positiveMin, min)
Obtiene el valor mínimo positivo de (positiveMin@, min)
- positiveMin
- min
public IRange GetWindowedYRange(IRange xRange, bool getPositiveRange)
result = dataSeries.GetWindowedYRange(xRange, getPositiveRange)
Consigue el YRange de los datos (min, max de la serie) en el rango de puntos de alcance visible de entrada, donde el rango de entrada es el VisibleRange
- xRange
- El rango X-Axis actualmente en vista
- getPositiveRange
- Indica si regresar a YRange positivo sólo
Devuelve: El YRange de los datos en esta ventana
public IRange GetWindowedYRange(IndexRange xIndexRange)
result = dataSeries.GetWindowedYRange(xIndexRange)
Consigue el YRange de los datos (min, max de la serie) en la entrada IndexRange@, donde los índices son índices de puntos en las columnas DataSeries
- xIndexRange
- Los índices X-Axis actualmente en vista
Devuelve: El YRange de los datos en esta ventana
public IRange GetWindowedYRange(IRange xRange)
result = dataSeries.GetWindowedYRange(xRange)
Consigue el YRange de los datos (min, max de la serie) en el rango de puntos de alcance visible de entrada, donde el rango de entrada es el VisibleRange
- xRange
- El rango X-Axis actualmente en vista
Devuelve: El YRange de los datos en esta ventana
public IRange GetWindowedYRange(IndexRange xIndexRange, bool getPositiveRange)
result = dataSeries.GetWindowedYRange(xIndexRange, getPositiveRange)
Consigue el YRange de los datos (min, max de la serie) en la entrada IndexRange@, donde los índices son índices de puntos en las columnas DataSeries
- xIndexRange
- Los índices X-Axis actualmente en vista
- getPositiveRange
- Indica si regresar a YRange positivo sólo
Devuelve: El YRange de los datos en esta ventana
public TX GetXMinAt(int index, TX existingXMin)
result = dataSeries.GetXMinAt(index, existingXMin)
Cuando se anula en una clase derivada, recibe el Min(existingXMin, currentMin), donde currentMin es el mínimo en el índice especificado
- index
- El índice al conjunto de datos subyacente
- existingXMin
- El mínimo existente
Devuelve: El nuevo XMin, que es el Min(existingXMin, currentMin)
public abstract TY GetYMaxAt(int index, TY existingYMax)
result = dataSeries.GetYMaxAt(index, existingYMax)
Cuando se anula en una clase derivada, obtiene el Max(existingYMax, currentMax), donde currentMax es el máximo en el índice especificado
- index
- El índice al conjunto de datos subyacente
- existingYMax
- El máximo existente
Devuelve: El nuevo YMax, que es el Min(existingYMax, currentMax)
public abstract TY GetYMinAt(int index, TY existingYMin)
result = dataSeries.GetYMinAt(index, existingYMin)
Cuando se anula en una clase derivada, recibe el Min(existingYMin, currentMin), donde currentMin es el mínimo en el índice especificado
- index
- El índice al conjunto de datos subyacente
- existingYMin
- El mínimo existente
Devuelve: El nuevo YMin, que es el Min(existingYMin, currentMin)
public void InvalidateParentSurface(RangeMode rangeMode)
dataSeries.InvalidateParentSurface(rangeMode)
Puede llamarse para activar una rodaja en el padre UltrachartSurface. Este método es extremadamente útil cuando IDataSeries están en un ViewModel y se atan vía MVVVM a IRenderableSeries. Por favor, vea el parámetro para opciones de invalidación
- rangeMode
- Proporciona opciones de invalidación RangeModepara la superficie matriz
public void Remove(TX x)
dataSeries.Remove(x)
Elimina los valores asociados de Y para el valor X especificado
- x
- El X DataValuepara eliminar. Elimina todos los valores asociados de Y
public abstract void RemoveAt(int index)
dataSeries.RemoveAt(index)
Elimina los valores X,Y en el índice especificado
- index
- El índice para eliminar
public abstract void RemoveRange(int startIndex, int count)
dataSeries.RemoveRange(startIndex, count)
Elimina una gama de puntos que comienzan desde el índice especificado
- startIndex
- Índice de inicio de la gama de elementos para eliminar
- count
- El número de elementos para eliminar
public void ResumeUpdates(IUpdateSuspender suspender)
dataSeries.ResumeUpdates(suspender)
Resumes actualizaciones sobre el objetivo, que se pretende llamar por IUpdateSuspender
- suspender
public IUpdateSuspender SuspendUpdates()
result = dataSeries.SuspendUpdates()
Suspende dibujar actualizaciones sobre el objetivo hasta que el objeto devuelto se deshaga, cuando se emita una llamada final de sorteo
Devuelve: El desechable Suspender de actualización
protected void ThrowWhenAppendInvalid(int paramsCount)
dataSeries.ThrowWhenAppendInvalid(paramsCount)
Asegura el número correcto de parámetros suministrados a Append(TX, params TY) y tira si es necesario
- paramsCount
- Los params previstos cuentan
public virtual HitTestInfo ToHitTestInfo(int index)
result = dataSeries.ToHitTestInfo(index)
Cuando se sobrescribe en una clase derivada, devuelve un HitTestInfo struct que contiene datos sobre el punto de datos en el índice especificado
- index
- El índice a DataSeries
Devuelve: HitTestInfo
public abstract IPointSeries ToPointSeries(ResamplingMode resamplingMode, IndexRange pointRange, int viewportWidth, bool isCategoryAxis, bool? dataIsDisplayedAs2D, IRange visibleXRange, IPointResamplerFactory factory, object pointSeriesArg)
result = dataSeries.ToPointSeries(resamplingMode, pointRange, viewportWidth, isCategoryAxis, dataIsDisplayedAs2D, visibleXRange, factory, pointSeriesArg)
Convertirá el YValues predeterminado a IPointSeries que se utiliza para renderizar la serie XY
- resamplingMode
- El deseado ResamplingMode
- pointRange
- Los índices enteros varían en el conjunto de datos de los padres
- viewportWidth
- La anchura actual del puerto de visión
- isCategoryAxis
- Si es cierto, utiliza los índices para formar los valores X reampled, de lo contrario utiliza los valores X ellos mismos
- dataIsDisplayedAs2D
- Si es cierto, los datos se consideran una serie de dispersión sin relación entre los puntos, e.g. no una serie de líneas
- visibleXRange
- factory
- PointResamplerFactory que devuelve IPointResampler
- pointSeriesArg
- Parámetro adicional a la serie de puntos.
Devuelve: A IPointSeries que se utiliza para renderizar la serie XY
public IPointSeries ToPointSeries(IList column, ResamplingMode resamplingMode, IndexRange pointRange, int viewportWidth, bool isCategoryAxis)
result = dataSeries.ToPointSeries(column, resamplingMode, pointRange, viewportWidth, isCategoryAxis)
OBSOLETE. Utilice ToPointSeries en lugar de eso, y castigue para corregir el tipo de serie de puntos
- column
- resamplingMode
- pointRange
- viewportWidth
- isCategoryAxis
Eventos
public event EventHandler<DataSeriesChangedEventArgs> DataSeriesChanged
dataSeries.DataSeriesChanged += handler
Evento planteado cada vez que se agregan puntos, eliminados o uno o más DataSeriescambios de propiedades
Campos
protected ISeriesColumn<TX> _xColumn
value = dataSeries._xColumn
El XColumn para esto DataSeries
protected ISeriesColumn<TY> _yColumn
value = dataSeries._yColumn
El YColumn primario para esto DataSeries