TimeSeriesChartWidget<T>
Namespace: Hex1b.Widgets
Assembly: Hex1b.dll
A widget that displays a time series line chart using braille characters for sub-cell precision.
public sealed record TimeSeriesChartWidget<T> : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<TimeSeriesChartWidget<T>>Inheritance
Object → Hex1bWidget → TimeSeriesChartWidget<T>
Implements
Properties
Data
Gets the data source for the chart.
Returns: IReadOnlyList<<T>>
public IReadOnlyList<T>? Data { get; init; }Methods
Fill(FillStyle)
Sets the area fill style below the line.
Parameters:
style(FillStyle):
Returns: TimeSeriesChartWidget`1
public TimeSeriesChartWidget<T> Fill(FillStyle style = FillStyle.Solid)FormatValue(Func<double, string>)
Sets a custom Y value formatter.
Parameters:
formatter(Func<Double, String>):
Returns: TimeSeriesChartWidget`1
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:
selector(Func<<T>, String>):
Returns: TimeSeriesChartWidget`1
public TimeSeriesChartWidget<T> Label(Func<T, string> selector)Layout(ChartLayout)
Sets the chart layout for multi-series data. Use for stacked area charts.
Parameters:
layout(ChartLayout):
Returns: TimeSeriesChartWidget`1
public TimeSeriesChartWidget<T> Layout(ChartLayout layout)Max(double)
Sets the explicit maximum Y value.
Parameters:
max(Double):
Returns: TimeSeriesChartWidget`1
public TimeSeriesChartWidget<T> Max(double max)Min(double)
Sets the explicit minimum Y value.
Parameters:
min(Double):
Returns: TimeSeriesChartWidget`1
public TimeSeriesChartWidget<T> Min(double min)Range(double, double)
Sets explicit Y-axis range.
Parameters:
Returns: TimeSeriesChartWidget`1
public TimeSeriesChartWidget<T> Range(double min, double max)Series(string, Func<T, double>, Hex1bColor?)
Adds a named series definition for multi-series mode.
Parameters:
name(String):selector(Func<<T>, Double>):color(Nullable<Hex1bColor>):
Returns: TimeSeriesChartWidget`1
public TimeSeriesChartWidget<T> Series(string name, Func<T, double> selector, Hex1bColor? color = null)ShowGridLines(bool)
Sets whether to display grid lines.
Parameters:
show(Boolean):
Returns: TimeSeriesChartWidget`1
public TimeSeriesChartWidget<T> ShowGridLines(bool show = true)ShowValues(bool)
Sets whether to display Y values at data points.
Parameters:
show(Boolean):
Returns: TimeSeriesChartWidget`1
public TimeSeriesChartWidget<T> ShowValues(bool show = true)Title(string)
Sets the chart title.
Parameters:
title(String):
Returns: TimeSeriesChartWidget`1
public TimeSeriesChartWidget<T> Title(string title)Value(Func<T, double>)
Sets the function that extracts the Y value for single-series mode.
Parameters:
selector(Func<<T>, Double>):
Returns: TimeSeriesChartWidget`1
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:
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()
);