Skip to content

ChartDataFrame

ClassChartGuruChartGuru
public sealed class ChartDataFrame

Immutable typed, column-oriented dataset for chart compilation and reusable transforms. Columns are validated once and row operations copy only selected typed values.

public ChartDataFrame(params ChartDataColumn[] columns)

Creates a frame from shared immutable columns, validating nonnull columns, equal row counts and case-insensitively unique names.

Parameters

Name Type
columns ChartGuru.ChartDataColumn[]

public bool ContainsColumn(string name)

Reports whether a column exists using a case-insensitive name lookup.

Parameters

Name Type
name System.String

Returns

System.Boolean

public ChartDataColumn GetColumn(string name)

Gets a column by case-insensitive name, throwing when the name is absent.

Parameters

Name Type
name System.String

Returns

ChartGuru.ChartDataColumn

public ChartDataColumn<T> GetColumn<T>(string name)

Gets the named column with value type T, throwing when absent or stored with another value type.

Parameters

Name Type
name System.String

Returns

ChartGuru.ChartDataColumn{{T}}

public bool TryGetColumn<T>(string name, out ChartDataColumn<T> column)

Attempts a case-insensitive lookup of a column whose value type is T.

Parameters

Name Type
name System.String
column ChartGuru.ChartDataColumn{{T}}

Returns

System.Boolean

public ChartDataRow GetRow(int rowIndex)

Gets a view of an in-range row without copying its column values.

Parameters

Name Type
rowIndex System.Int32

Returns

ChartGuru.ChartDataRow

public IEnumerable<ChartDataRow> EnumerateRows()

Enumerates row views in their current frame order without copying column values.

Returns

System.Collections.Generic.IEnumerable{ChartGuru.ChartDataRow}

public ChartDataFrame Select(params string[] columnNames)

Returns a frame sharing the named columns in the requested order.

Parameters

Name Type
columnNames System.String[]

Returns

ChartGuru.ChartDataFrame

public ChartDataFrame WithColumn(ChartDataColumn column)

Returns a frame replacing a case-insensitive name match or appending a column, with equal row counts required for nonempty frames.

Parameters

Name Type
column ChartGuru.ChartDataColumn

Returns

ChartGuru.ChartDataFrame

public ChartDataFrame Filter(Func<ChartDataRow, bool> predicate)

Copies rows accepted by the predicate into a new frame, preserving their original order.

Parameters

Name Type
predicate System.Func{ChartGuru.ChartDataRow,System.Boolean}

Returns

ChartGuru.ChartDataFrame

public ChartDataFrame SortBy(string columnName, bool descending = false)

Returns a frame sorted by a column in the requested direction, keeping invalid values last.

Parameters

Name Type
columnName System.String
descending System.Boolean

Returns

ChartGuru.ChartDataFrame

public ChartDataFrame SelectRows(IReadOnlyList<int> rowIndices)

Copies all columns for the requested row indices, preserving their order, repetitions and validity flags.

Parameters

Name Type
rowIndices System.Collections.Generic.IReadOnlyList{System.Int32}

Returns

ChartGuru.ChartDataFrame

public bool ShapeEquals(ChartDataFrame other)

Compares row and column counts, ordered case-sensitive names, semantic types and value types, without comparing data values.

Parameters

Name Type
other ChartGuru.ChartDataFrame

Returns

System.Boolean

FromTabular(ChartTabularData, string, CultureInfo)

Section titled “FromTabular(ChartTabularData, string, CultureInfo)”
public static ChartDataFrame FromTabular(ChartTabularData table, string dateFormat = null, CultureInfo culture = null)

Builds typed columns and validity masks from tabular cells, with optional date format and culture.

Parameters

Name Type
table ChartGuru.ChartTabularData
dateFormat System.String
culture System.Globalization.CultureInfo

Returns

ChartGuru.ChartDataFrame

public int RowCount { get; }

Returns

System.Int32

public int ColumnCount { get; }

Returns

System.Int32

public IReadOnlyList<ChartDataColumn> Columns { get; }

Returns

System.Collections.Generic.IReadOnlyList{ChartGuru.ChartDataColumn}