DataSeries
Общий абстрактный базовый класс, который определяет общий DataSeries, который содержит столбцы 1..N, такие как X,Y в случае простых данных X,Y или X, Open, High, Low, Close в случае данных OHLC.
Наследует: BindableObject
Реализует: IDataSeries<T, T>, IDataSeries, ISuspendable
Конструкторы
protected DataSeries()
dataSeries = DataSeries()
Инициализирует новый экземпляр класса DataSeries.
Свойства
public bool AcceptsUnsortedData { get; set; }
value = dataSeries.AcceptsUnsortedData
dataSeries.AcceptsUnsortedData = value
Новшество в отношении v3.3: когда AcceptsUnsortedData является ложным, DataSeries с броском InvalidOperationException, если несортированные данные добавлены. Непреднамеренные несортированные данные могут привести к гораздо более медленной производительности. Чтобы отключить эту проверку, установите AcceptsUnsortedData = истинно.
public int Count { get; }
value = dataSeries.Count
Получает количество точек в этой серии данных
public IDataDistributionCalculator<TX> DataDistributionCalculator { get; set; }
value = dataSeries.DataDistributionCalculator
dataSeries.DataDistributionCalculator = value
Получает или устанавливает экземпляр DataDistrutionCalculator для этого DataSeries. Используется при повторной выборке данных для определения правильного алгоритма
public abstract DataSeriesType DataSeriesType { get; }
value = dataSeries.DataSeriesType
Получает DataSeriesType для этого DataSeries
public int? FifoCapacity { get; set; }
value = dataSeries.FifoCapacity
dataSeries.FifoCapacity = value
Получает или устанавливает размер буфера FIFO. Если нуль, то серия данных неограничен. Если значение установлено, когда количество точек достигает этого значения, старые точки будут отбрасываться.
public abstract bool HasValues { get; }
value = dataSeries.HasValues
Получает ли Серия данных значения (не пустая)
public bool IsAttached { get; }
value = dataSeries.IsAttached
Получает значение, указывающее, прикреплен ли этот экземпляр.
public bool IsFifo { get; }
value = dataSeries.IsFifo
Получает ли ведомость данных, как FIFO Если правда, когда FifoCapacity будет достигнут, старые точки будут отброшены в пользу новых точек
public virtual bool IsSecondary { get; set; }
value = dataSeries.IsSecondary
dataSeries.IsSecondary = value
Если это правда, то эта серия данных не будет выбрана для расчета диапазона диаграмм.
public bool IsSorted { get; }
value = dataSeries.IsSorted
Получает ли этот DataSeries содержит Сортированные данные в X-направлении. Примечание: Сортированные данные приведут к гораздо более быстрым операциям индексации. Если это вообще возможно, постарайтесь сортировать свои данные в X-направлении
public bool IsSuspended { get; }
value = dataSeries.IsSuspended
Получает значение, указывающее, приостановлены ли обновления для цели в настоящее время.
public TY Item { get; }
value = dataSeries.Item
Получает пункт в индексе от указанного DataSeriesColumn.
public IComparable LatestYValue { get; }
value = dataSeries.LatestYValue
Получает последнюю Y-ценность DataSeries
public IUltrachartSurface ParentSurface { get; set; }
value = dataSeries.ParentSurface
dataSeries.ParentSurface = value
Получает или устанавливает родительский IUltrachartSurface, к которому прикреплен данный экземпляр IDataSeries
public string SeriesName { get; set; }
value = dataSeries.SeriesName
dataSeries.SeriesName = value
Получает или устанавливает название этой серии
StockSharp#Xaml#Charting#Model#DataSeries#IDataSeries#XValues
Получает X значений этого набора данных
StockSharp#Xaml#Charting#Model#DataSeries#IDataSeries#YValues
Получает значения Y этой серии данных
public Lock SyncRoot { get; }
value = dataSeries.SyncRoot
Объект синхронизации (в каждом случае)
public IComparable XMax { get; }
value = dataSeries.XMax
Получает вычисленное максимальное значение в X для этой серии
public IComparable XMin { get; }
value = dataSeries.XMin
Получает вычисленное минимальное значение в X для этой серии
public virtual IRange XRange { get; }
value = dataSeries.XRange
Получает вычисленный XRange, который является IRange, обертывающей свойства XMin и XMax
public Type XType { get; }
value = dataSeries.XType
Получает Тип точек X-данных в этом DataSeries Используется для проверки совместимости с типами Axis
public IComparable YMax { get; }
value = dataSeries.YMax
Получает вычисленное максимальное значение в Y для этой серии
public IComparable YMin { get; }
value = dataSeries.YMin
Получает вычисленное минимальное значение в Y для этой серии
public virtual IRange YRange { get; }
value = dataSeries.YRange
Получает вычисленный YRange, который является IRange, обертывающей свойства YMin и YMax
public Type YType { get; }
value = dataSeries.YType
Получает Тип точек Y-данных в этом DataSeries Используется для проверки совместимости с типами Axis
Методы
public abstract void Append(IEnumerable<TX> x, IEnumerable<TY>[] yValues)
dataSeries.Append(x, yValues)
Добавляет список точек X, Y к серии.
- x
- Список X точек
- yValues
- Списки точек Y (зависит от типа серии)
public abstract void Append(TX x, TY[] yValues)
dataSeries.Append(x, yValues)
Добавляет точку X, Y в серию
- x
- Значение X
- yValues
- Значения Y (зависит от типа серии)
public void Clear()
dataSeries.Clear()
Очищает серию, сбрасывая внутренние списки до нулевого размера.
protected abstract void ClearColumns()
dataSeries.ClearColumns()
При переопределении в производном классе очищает все столбцы в серии данных.
public abstract IDataSeries<TX, TY> Clone()
result = dataSeries.Clone()
Создает глубокую копию DataSeries.
public void DecrementSuspend()
dataSeries.DecrementSuspend()
Вызывается IUpdateSuspender каждый раз при удалении целевой приостановки. Когда последний целевой приостановщик удален, вызывается ResumeUpdates.
public virtual int FindClosestLine(IComparable x, IComparable y, double xyScaleRatio, double xRadius, LineDrawMode drawNanAs)
result = dataSeries.FindClosestLine(x, y, xyScaleRatio, xRadius, drawNanAs)
Находит ближайшую линию к точке с заданным значением X и Y. Область поиска - вертикальная область с центром в X и [maxXDistance] X единиц влево и вправо
- x
- X-значение точки [X единицы данных, а не пиксели]
- y
- Y-значение точки (единицы данных Y, а не пиксели)
- xyScaleRatio
- xUnitsPerPixel/yUnitsPerPixel
- xRadius
- определяет область поиска в X единицах (галочки для DateTime или TimeSpan)
- drawNanAs
- Как управлять элементами NAN
Возвращает: Индекс первой точки в строке, -1 если не найден (при счете равен нулю)
public virtual int FindClosestPoint(IComparable xValue, IComparable yValue, double xyScaleRatio, double hitTestRadius)
result = dataSeries.FindClosestPoint(xValue, yValue, xyScaleRatio, hitTestRadius)
Находит ближайшую точку к точке с заданным значением X и Y. Область поиска - вертикальная область с центром в X и [maxXDistance] X единиц влево и вправо
- xValue
- X-значение точки [X единицы данных, а не пиксели]
- yValue
- Y-значение точки (единицы данных Y, а не пиксели)
- xyScaleRatio
- xUnitsPerPixel/yUnitsPerPixel
- hitTestRadius
- Указывает область поиска в координатах диаграммы (галочки для DateTime или TimeSpan)
Возвращает: Индекс найденного значения -1, если не найдено (когда счет равен нулю)
public int FindIndex(IComparable x, SearchMode searchMode)
result = dataSeries.FindIndex(x, searchMode)
Находит индекс на DataSeries по указанной X-Value
- x
- X-значение для поиска
- searchMode
- Варианты использования SearchMode. Дефолт точен, где -1 возвращается, если индекс не найден
Возвращает: Индекс найденной стоимости
public IndexRange GetIndicesRange(IRange range)
result = dataSeries.GetIndicesRange(range)
Получает целые индексы массива XValues, которые в настоящее время находятся в VisibleRange.
- range
- VisibleRange чтобы получить диапазон индексов
Возвращает: Индексы для X-Data, которые в настоящее время находятся в диапазоне
protected T GetPositiveMin<T>(T positiveMin, T min)
result = dataSeries.GetPositiveMin(positiveMin, min)
Получает минимальное положительное значение (positiveMin, мин)
- positiveMin
- min
public IRange GetWindowedYRange(IRange xRange, bool getPositiveRange)
result = dataSeries.GetWindowedYRange(xRange, getPositiveRange)
Получает YRange данных (мин, макс серии) во входном диапазоне видимой точки диапазона, где входной диапазон является VisibleRange
- xRange
- Диапазон X-Axis в настоящее время
- getPositiveRange
- Указывает, возвращает ли положительный YRange только
Возвращает: YRange данных в этом окне
public IRange GetWindowedYRange(IndexRange xIndexRange)
result = dataSeries.GetWindowedYRange(xIndexRange)
Получает YRange данных (мин, макс серии) во входе IndexRange, где индексы являются точечными показателями в колонках DataSeries
- xIndexRange
- Индексы X-Axis в настоящее время
Возвращает: YRange данных в этом окне
public IRange GetWindowedYRange(IRange xRange)
result = dataSeries.GetWindowedYRange(xRange)
Получает YRange данных (мин, макс серии) во входном диапазоне видимой точки диапазона, где входной диапазон является VisibleRange
- xRange
- Диапазон X-Axis в настоящее время
Возвращает: YRange данных в этом окне
public IRange GetWindowedYRange(IndexRange xIndexRange, bool getPositiveRange)
result = dataSeries.GetWindowedYRange(xIndexRange, getPositiveRange)
Получает YRange данных (мин, макс серии) во входе IndexRange, где индексы являются точечными показателями в колонках DataSeries
- xIndexRange
- Индексы X-Axis в настоящее время
- getPositiveRange
- Указывает, возвращает ли положительный YRange только
Возвращает: YRange данных в этом окне
public TX GetXMinAt(int index, TX existingXMin)
result = dataSeries.GetXMinAt(index, existingXMin)
При перегрузке в производном классе получает Min(existingXMin, currentMin), где currentMin является минимальным по указанному индексу
- index
- Индекс базового набора данных
- existingXMin
- Существующий минимум
Возвращает: Новый XMin, который является Min(existingXMin, currentMin)
public abstract TY GetYMaxAt(int index, TY existingYMax)
result = dataSeries.GetYMaxAt(index, existingYMax)
При переопределении в производном классе получает значение Max(existingYMax, currentMax), где currentMax — максимум по указанному индексу.
- index
- Индекс базового набора данных
- existingYMax
- Существующий максимум
Возвращает: Новый YMax, который является Min(existingYMax, currentMax)
public abstract TY GetYMinAt(int index, TY existingYMin)
result = dataSeries.GetYMinAt(index, existingYMin)
При переопределении в производном классе получает Min(existingYMin, currentMin), где currentMin — минимум по указанному индексу.
- index
- Индекс базового набора данных
- existingYMin
- Существующий минимум
Возвращает: Новый YMin, то есть Min(existingYMin, currentMin)
public void InvalidateParentSurface(RangeMode rangeMode)
dataSeries.InvalidateParentSurface(rangeMode)
Может быть вызван, чтобы вызвать перерисовку на родительском UltrachartSurface. Этот метод чрезвычайно полезен, когда IDataSeries находится в ViewModel и связан через MVVM с IRenderableSeries. Пожалуйста, посмотрите параметр для вариантов признания недействительными
- rangeMode
- Предоставляет RangeMode варианты признания недействительными для родительской поверхности
public void Remove(TX x)
dataSeries.Remove(x)
Удалить связанные Y-ценности для указанной X-ценности
- x
- X DataValue, чтобы удалить. Удалить все связанные Y-ценности
public abstract void RemoveAt(int index)
dataSeries.RemoveAt(index)
Удаляет значения X,Y по указанному индексу.
- index
- Индекс, который нужно удалить
public abstract void RemoveRange(int startIndex, int count)
dataSeries.RemoveRange(startIndex, count)
Удаляет диапазон точек, начиная с указанного индекса.
- startIndex
- Начальный индекс диапазона удаляемых элементов
- count
- Количество элементов для удаления
public void ResumeUpdates(IUpdateSuspender suspender)
dataSeries.ResumeUpdates(suspender)
Резюме обновлений по цели, предназначенной для вызова по адресу IUpdateSuspender
- suspender
public IUpdateSuspender SuspendUpdates()
result = dataSeries.SuspendUpdates()
Приостанавливает обновление чертежа на цели до тех пор, пока возвращенный объект не будет утилизирован, когда будет выпущен окончательный вызов на жеребьевку.
Возвращает: Обновление Suspender
protected void ThrowWhenAppendInvalid(int paramsCount)
dataSeries.ThrowWhenAppendInvalid(paramsCount)
Утверждает правильное количество параметров, подаваемых в Приложение (TX, парам TY) и бросает, если это необходимо
- paramsCount
- Ожидаемое количество парамов
public virtual HitTestInfo ToHitTestInfo(int index)
result = dataSeries.ToHitTestInfo(index)
При переопределении в производном классе возвращается структура HitTestInfo, содержащая данные о точке данных в указанном индексе.
- index
- Индекс DataSeries
Возвращает: 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)
Преобразует значения YValues по умолчанию в IPointSeries, которое используется для рендеринга серий XY.
- resamplingMode
- Желаемый ResamplingMode
- pointRange
- Диапазон целочисленных индексов в родительском наборе данных
- viewportWidth
- Текущая ширина области просмотра
- isCategoryAxis
- Если это правда, используются индексы для формирования передискретизированных значений X, в противном случае используются сами значения X.
- dataIsDisplayedAs2D
- Если это правда, то данные рассматриваются как серия разбросов без связи между точками, а не серия строк.
- visibleXRange
- factory
- PointResamplerFactory, который возвращает IPointResampler экземпляров
- pointSeriesArg
- Дополнительный параметр к серии точек.
Возвращает: IPointSeries, который используется для рендеринга серии XY.
public IPointSeries ToPointSeries(IList column, ResamplingMode resamplingMode, IndexRange pointRange, int viewportWidth, bool isCategoryAxis)
result = dataSeries.ToPointSeries(column, resamplingMode, pointRange, viewportWidth, isCategoryAxis)
ОБСОЛЕТ. Вместо этого используйте ToPointSeries и отливайте для исправления типа серии точек.
- column
- resamplingMode
- pointRange
- viewportWidth
- isCategoryAxis
События
public event EventHandler<DataSeriesChangedEventArgs> DataSeriesChanged
dataSeries.DataSeriesChanged += handler
Событие возникает всякий раз, когда точки добавляются, удаляются или изменяются одно или несколько свойств DataSeries.
Поля
protected ISeriesColumn<TX> _xColumn
value = dataSeries._xColumn
XColumn для этого DataSeries
protected ISeriesColumn<TY> _yColumn
value = dataSeries._yColumn
Основной столбец YColumn для этого DataSeries