Skip to content

TimeSeriesChartWidget<T>

Namespace: Hex1b.Widgets

Assembly: Hex1b.dll

A widget that displays a time series line chart using braille characters for sub-cell precision.

csharp
public sealed record TimeSeriesChartWidget<T> : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<TimeSeriesChartWidget<T>>

Inheritance

ObjectHex1bWidgetTimeSeriesChartWidget<T>

Implements

Properties

Data

Gets the data source for the chart.

Returns: IReadOnlyList<<T>>

csharp
public IReadOnlyList<T>? Data { get; init; }

Methods

Fill(FillStyle)

Sets the area fill style below the line.

Parameters:

Returns: TimeSeriesChartWidget`1

csharp
public TimeSeriesChartWidget<T> Fill(FillStyle style = FillStyle.Solid)

FormatValue(Func<double, string>)

Sets a custom Y value formatter.

Parameters:

Returns: TimeSeriesChartWidget`1

csharp
public TimeSeriesChartWidget<T> FormatValue(Func<double, string> formatter)

Label(Func<T, string>)

Sets the function that extracts an X-axis label from each data item.

Parameters:

Returns: TimeSeriesChartWidget`1

csharp
public TimeSeriesChartWidget<T> Label(Func<T, string> selector)

Layout(ChartLayout)

Sets the chart layout for multi-series data. Use for stacked area charts.

Parameters:

Returns: TimeSeriesChartWidget`1

csharp
public TimeSeriesChartWidget<T> Layout(ChartLayout layout)

Max(double)

Sets the explicit maximum Y value.

Parameters:

Returns: TimeSeriesChartWidget`1

csharp
public TimeSeriesChartWidget<T> Max(double max)

Min(double)

Sets the explicit minimum Y value.

Parameters:

Returns: TimeSeriesChartWidget`1

csharp
public TimeSeriesChartWidget<T> Min(double min)

Range(double, double)

Sets explicit Y-axis range.

Parameters:

Returns: TimeSeriesChartWidget`1

csharp
public TimeSeriesChartWidget<T> Range(double min, double max)

Series(string, Func<T, double>, Hex1bColor?)

Adds a named series definition for multi-series mode.

Parameters:

Returns: TimeSeriesChartWidget`1

csharp
public TimeSeriesChartWidget<T> Series(string name, Func<T, double> selector, Hex1bColor? color = null)

ShowGridLines(bool)

Sets whether to display grid lines.

Parameters:

Returns: TimeSeriesChartWidget`1

csharp
public TimeSeriesChartWidget<T> ShowGridLines(bool show = true)

ShowValues(bool)

Sets whether to display Y values at data points.

Parameters:

Returns: TimeSeriesChartWidget`1

csharp
public TimeSeriesChartWidget<T> ShowValues(bool show = true)

Title(string)

Sets the chart title.

Parameters:

Returns: TimeSeriesChartWidget`1

csharp
public TimeSeriesChartWidget<T> Title(string title)

Value(Func<T, double>)

Sets the function that extracts the Y value for single-series mode.

Parameters:

Returns: TimeSeriesChartWidget`1

csharp
public TimeSeriesChartWidget<T> Value(Func<T, double> selector)

Remarks

Points are connected by lines rendered with braille dots (2×4 dots per cell). Multiple series are rendered on separate layers and composited with OR'd braille patterns.

Examples

Create a basic time series chart:

csharp
var data = new[]
{
    new ChartItem("Jan", 2), new ChartItem("Feb", 4),
    new ChartItem("Mar", 9), new ChartItem("Apr", 14),
};
var app = new Hex1bApp(ctx =>
    ctx.TimeSeriesChart(data)
        .Title("Temperature")
        .ShowGridLines()
);

Released under the MIT License.