Project

ChartForgeX

Render deterministic charts, dashboards, topology, hierarchy, and report visuals directly from .NET.

Stars 47
Forks 2
NuGet downloads 75,067
Release ChartForgeX-v2.0.0
Language: HTML Updated: 2026-10-12

API Reference

Class

ChartSeries

Namespace ChartForgeX.Core
Assembly ChartForgeX
Modifiers sealed

Represents one named series of chart data.

Inheritance

  • Object
  • ChartSeries

Usage

Explore 42 API references to this type

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Returned or exposed by 42

Constructors

public ChartSeries(String name, ChartSeriesKind kind, IEnumerable<ChartPoint> points) #

Initializes a new instance of the ChartSeries class.

Parameters

name System.String requiredposition: 0
The display name shown in legends.
kind ChartForgeX.Core.ChartSeriesKind requiredposition: 1
The series rendering kind.
points System.Collections.Generic.IEnumerable<ChartForgeX.Primitives.ChartPoint> requiredposition: 2
The ordered data points.

Methods

public ChartSeries ConfigureColorDimension(Action<ChartColorDimensionOptions> configure) #
Returns: ChartSeries

Configures this Scatter or Bubble series' existing color presentation options.

Parameters

configure System.Action<ChartForgeX.Core.ChartColorDimensionOptions> requiredposition: 0
Edits this series' existing options.

Returns

The current series.

public ChartSeries ConfigureDataLabelStyle(Action<TextStyleOverride> configure) #
Returns: ChartSeries

Configures series-specific data-label styling.

Parameters

configure System.Action<ChartForgeX.Typography.TextStyleOverride> requiredposition: 0
The style configuration callback.

Returns

The current series.

public ChartSeries ConfigureFinancial(Action<ChartFinancialOptions> configure) #
Returns: ChartSeries

Configures financial body, wick and OHLC paint without changing the source observations.

Parameters

configure System.Action<ChartForgeX.Core.ChartFinancialOptions> requiredposition: 0
The configuration callback.

Returns

The current series.

public ChartSeries ConfigureMarkers(Action<ChartMarkerOptions> configure) #
Returns: ChartSeries

Configures marker geometry, visibility and paint without changing the source observations.

Parameters

configure System.Action<ChartForgeX.Core.ChartMarkerOptions> requiredposition: 0
The configuration callback.

Returns

The current series.

public ChartSeries ConfigurePointDataLabelStyle(Int32 pointIndex, Action<TextStyleOverride> configure) #
Returns: ChartSeries

Configures data-label styling for one point.

Parameters

pointIndex System.Int32 requiredposition: 0
The zero-based point index.
configure System.Action<ChartForgeX.Typography.TextStyleOverride> requiredposition: 1
The style configuration callback.

Returns

The current series.

public ChartSeries ConfigureRadar(Action<ChartRadarOptions> configure) #
Returns: ChartSeries

Configures the form and area opacity of a radar series.

Parameters

configure System.Action<ChartForgeX.Core.ChartRadarOptions> requiredposition: 0
The configuration callback.

Returns

The current series.

public ChartSeries UseAutomaticInteractionKey() #
Returns: ChartSeries

Uses the series name as the automatic interactive synchronization key.

Returns

The current series.

public ChartSeries UseChartDataLabelPlacement() #
Returns: ChartSeries

Clears the series-specific data-label placement and uses the chart-level placement.

Returns

The current series.

public ChartSeries UseChartDataLabels() #
Returns: ChartSeries

Clears the series-specific data-label visibility override and uses the chart-level setting.

Returns

The current series.

public ChartSeries UseDefaultSliceOffset(Int32 pointIndex) #
Returns: ChartSeries

Clears the pie/donut slice offset ratio for one point.

Parameters

pointIndex System.Int32 requiredposition: 0
The zero-based point index.

Returns

The current series.

public ChartSeries UseFormattedPointLabel(Int32 pointIndex) #
Returns: ChartSeries

Clears the data label for one point so the formatted point value is used.

Parameters

pointIndex System.Int32 requiredposition: 0
The zero-based point index.

Returns

The current series.

public ChartSeries UsePrimaryYAxis() #
Returns: ChartSeries

Assigns the series to the primary left y-axis.

Returns

The current series.

public ChartSeries UseSecondaryYAxis() #
Returns: ChartSeries

Assigns the series to the secondary right y-axis.

Returns

The current series.

public ChartSeries UseSeriesColor(Int32 pointIndex) #
Returns: ChartSeries

Clears the color for one point so the series color or theme palette is used.

Parameters

pointIndex System.Int32 requiredposition: 0
The zero-based point index.

Returns

The current series.

public ChartSeries UseSeriesDataLabelStyle(Int32 pointIndex) #
Returns: ChartSeries

Clears point-specific data-label styling for one point.

Parameters

pointIndex System.Int32 requiredposition: 0
The zero-based point index.

Returns

The current series.

public ChartSeries UseSeriesFillPattern(Int32 pointIndex) #
Returns: ChartSeries

Clears the texture overlay for one point so the series fill pattern is used.

Parameters

pointIndex System.Int32 requiredposition: 0
The zero-based point index.

Returns

The current series.

public ChartSeries UseSolidFill() #
Returns: ChartSeries

Clears the series fill pattern.

Returns

The current series.

public ChartSeries UseThemeColor() #
Returns: ChartSeries

Clears the series color so the chart theme palette is used.

Returns

The current series.

public ChartSeries UseThemeMarkerRadius() #
Returns: ChartSeries

Clears the series marker override and uses the family default, including the shared bubble size scale.

public ChartSeries WithColor(ChartColor? color) #
Returns: ChartSeries

Sets the series color. Pass null to use the chart theme palette.

Parameters

color ChartForgeX.Primitives.ChartColor? requiredposition: 0
The series color, or null to use the theme palette.

Returns

The current series.

public ChartSeries WithColorScale(ChartColorScale? scale) #
Returns: ChartSeries

Sets the numeric color scale for Scatter or Bubble observations.

Parameters

scale ChartForgeX.Core.ChartColorScale? requiredposition: 0
The immutable scale, or null to restore ordinary paint without clearing source color measurements.

Returns

The current series.

public ChartSeries WithDataLabelPlacement(ChartDataLabelPlacement placement) #
Returns: ChartSeries

Sets a series-specific data-label placement.

Parameters

placement ChartForgeX.Core.ChartDataLabelPlacement requiredposition: 0
The preferred placement.

Returns

The current series.

public ChartSeries WithDataLabels(Boolean visible = true) #
Returns: ChartSeries

Sets a series-specific data-label visibility override.

Parameters

visible System.Boolean = true optionalposition: 0
A value indicating whether labels should render for this series.

Returns

The current series.

public ChartSeries WithFillPattern(ChartFillPattern pattern) #
Returns: ChartSeries

Sets the texture overlay applied to filled marks in this series.

Parameters

pattern ChartForgeX.Core.ChartFillPattern requiredposition: 0
The fill pattern.

Returns

The current series.

public ChartSeries WithFlowState(String id, ChartSeriesState? state) #
Returns: ChartSeries

Assigns semantic state to an existing authored Sankey or Chord flow. Null restores source-node/series inheritance; None explicitly suppresses it.

Parameters

id System.String requiredposition: 0
The exact authored flow ID.
state ChartForgeX.Core.ChartSeriesState? requiredposition: 1
An explicit semantic state, or null to restore inheritance. Explicit colors still take precedence over semantic colors.

Returns

This mutable series builder.

public ChartSeries WithFlowStyle(String id, ChartFlowStyle? style) #
Returns: ChartSeries

Assigns paint to an existing authored Sankey or Chord flow. Null removes the override and restores inheritance.

Parameters

id System.String requiredposition: 0
The exact authored flow ID, including the distinct ID of a parallel flow.
style ChartForgeX.Core.ChartFlowStyle? requiredposition: 1
Immutable paint overrides, or null to remove them.

Returns

This mutable series builder.

public ChartSeries WithInteractionKey(String? key) #
Returns: ChartSeries

Sets the stable semantic key used to synchronize this series across interactive charts.

Parameters

key System.String? requiredposition: 0
The semantic key, or null to use the series name.

Returns

The current series.

public ChartSeries WithInterpolation(ChartInterpolation interpolation, ChartStepPosition stepPosition = End) #
Returns: ChartSeries

Sets interpolation and, for a step, its transition position.

Parameters

interpolation ChartForgeX.Core.ChartInterpolation requiredposition: 0
The interpolation applied to each connected source segment.
stepPosition ChartForgeX.Core.ChartStepPosition = End optionalposition: 1
The step transition position; other modes require End.

Returns

The current series.

public ChartSeries WithLegendEntry(Boolean visible = true) #
Returns: ChartSeries

Sets whether the series should appear in the chart legend.

Parameters

visible System.Boolean = true optionalposition: 0
True to show the series in legends; otherwise false.

Returns

The current series.

public ChartSeries WithMarkerRadius(Double radius) #
Returns: ChartSeries

Overrides the canonical marker radius for this series. Use zero to hide point glyphs.

Parameters

radius System.Double requiredposition: 0
public ChartSeries WithNodeState(String id, ChartSeriesState state) #
Returns: ChartSeries

Assigns a semantic state to an existing authored node without relying on display labels or input ordinals.

Parameters

id System.String requiredposition: 0
state ChartForgeX.Core.ChartSeriesState requiredposition: 1
public ChartSeries WithNormalization(Double? target = 100) #
Returns: ChartSeries

Normalizes positive and negative stack totals separately while retaining source values.

Parameters

target System.Double? = 100 optionalposition: 0
The finite positive total, normally 100 for percentage stacks; null retains source units.
WithPointColor 2 overloads
public ChartSeries WithPointColor(Int32 pointIndex, ChartColor? color) #
Returns: ChartSeries

Sets the color for one point. Pass null to use the series color or theme palette.

Parameters

pointIndex System.Int32 requiredposition: 0
The zero-based point index.
color ChartForgeX.Primitives.ChartColor? requiredposition: 1
The point color, or null to use the series color.

Returns

The current series.

public ChartSeries WithPointColor(Int32 pointIndex, String hex) #
Returns: ChartSeries

Sets the color for one point from hex notation.

Parameters

pointIndex System.Int32 requiredposition: 0
The zero-based point index.
hex System.String requiredposition: 1
The point color in #RGB, #RGBA, #RRGGBB, or #RRGGBBAA notation.

Returns

The current series.

WithPointColorRange 2 overloads
public ChartSeries WithPointColorRange(Int32 startPointIndex, Int32 count, ChartColor? color) #
Returns: ChartSeries

Sets the same color for a contiguous point range.

Parameters

startPointIndex System.Int32 requiredposition: 0
The zero-based first point index.
count System.Int32 requiredposition: 1
The number of points to color.
color ChartForgeX.Primitives.ChartColor? requiredposition: 2
The point color, or null to use the series color.

Returns

The current series.

public ChartSeries WithPointColorRange(Int32 startPointIndex, Int32 count, String hex) #
Returns: ChartSeries

Sets the same color for a contiguous point range from hex notation.

Parameters

startPointIndex System.Int32 requiredposition: 0
The zero-based first point index.
count System.Int32 requiredposition: 1
The number of points to color.
hex System.String requiredposition: 2
The point color in #RGB, #RGBA, #RRGGBB, or #RRGGBBAA notation.

Returns

The current series.

public ChartSeries WithPointFillPattern(Int32 pointIndex, ChartFillPattern? pattern) #
Returns: ChartSeries

Sets the texture overlay for one point. Pass null to use the series fill pattern.

Parameters

pointIndex System.Int32 requiredposition: 0
The zero-based point index.
pattern ChartForgeX.Core.ChartFillPattern? requiredposition: 1
The point fill pattern, or null to use the series fill pattern.

Returns

The current series.

public ChartSeries WithPointLabel(Int32 pointIndex, String label) #
Returns: ChartSeries

Sets the data label for one point.

Parameters

pointIndex System.Int32 requiredposition: 0
The zero-based point index.
label System.String requiredposition: 1
The data label text.

Returns

The current series.

public ChartSeries WithPointSliceOffset(Int32 pointIndex, Double ratio) #
Returns: ChartSeries

Sets the pie/donut slice offset ratio for one point.

Parameters

pointIndex System.Int32 requiredposition: 0
The zero-based point index.
ratio System.Double requiredposition: 1
The offset ratio from zero to 0.35 of the outer radius.

Returns

The current series.

public ChartSeries WithSemanticRole(String? role) #
Returns: ChartSeries

Sets an optional semantic role emitted by capable renderers.

Parameters

role System.String? requiredposition: 0
The semantic role, or null to use the renderer default.

Returns

The current series.

public ChartSeries WithSmooth(Boolean smooth = true) #
Returns: ChartSeries

Sets whether capable renderers should smooth connected line segments.

Parameters

smooth System.Boolean = true optionalposition: 0
True to smooth connected segments; otherwise false.

Returns

The current series.

public ChartSeries WithStackGroup(String? group) #
Returns: ChartSeries

Assigns an independent stack key; null restores the chart's default arrangement.

Parameters

group System.String? requiredposition: 0
An ordinal key shared by the series in one stack, or null.
public ChartSeries WithStrokeWidth(Double width) #
Returns: ChartSeries

Sets the stroke width for line and area series.

Parameters

width System.Double requiredposition: 0
The stroke width in pixels.

Returns

The current series.

Properties

public ChartColorDimensionOptions ColorDimension { get; } #

Gets the independent color measurement's name and number display policy for Scatter or Bubble observations.

public ChartColorScale? ColorScale { get; set; } #

Gets or sets the numeric color scale for Scatter or Bubble observations. Null preserves ordinary paint while retaining authored color measurements.

public String Name { get; } #

Gets the display name shown in legends.

public String? InteractionKey { get; set; } #

Gets or sets the stable semantic key used to synchronize this series across interactive charts. When unset, capable adapters use ChartSeries.Name. Digits-only values are reserved for local series ordinals.

public ChartSeriesKind Kind { get; } #

Gets the series rendering kind.

public List<ChartPoint> Points { get; } #

Gets the ordered numeric points. Typed waterfall and relationship series keep their source in their typed collections.

public Int32 SourcePointCount { get; private set; } #

Gets the number of source observations supplied before aggregation or explicit decimation.

public ChartDecimationMode? DecimationMode { get; private set; } #

Gets the explicit decimation algorithm, or null when the series was not created through a decimating API.

public IReadOnlyList<Int32> SourcePointIndices { get; private set; } #

Gets the source index represented by each retained point after explicit decimation.

public Boolean IsDecimated { get; } #

Gets whether this series renders fewer points than its source sequence.

public ChartColor? Color { get; set; } #

Gets or sets the series color. When null, the chart theme palette is used.

public ChartSeriesState StateRole { get; set; } #

Gets or sets the semantic colour role; explicit colours still take precedence.

public List<ChartColor?> PointColors { get; } #

Gets optional point-level colors. Null entries fall back to the series color or theme palette. For relationship series, these ordinals refer to Nodes.

public ChartFillPattern FillPattern { get; set; } #

Gets or sets the texture overlay applied to filled marks in this series.

public List<ChartFillPattern?> PointFillPatterns { get; } #

Gets optional point-level fill patterns. Null entries fall back to the series fill pattern. For relationship series, these ordinals refer to Nodes.

public List<Double?> PointValues { get; } #

Gets optional point-level numeric values for specialized renderers that need per-point metadata.

public List<String?> PointLabels { get; } #

Gets optional point-level data labels. Null entries use the formatted point value.

public List<TextStyleOverride?> PointDataLabelStyles { get; } #

Gets optional point-level data-label styles. Null entries fall back to the series or chart data-label style. For relationship series, these ordinals refer to Nodes.

public List<Double> PointSliceOffsets { get; } #

Gets optional point-level pie/donut slice offset ratios. Zero entries use the default slice position.

public List<ChartRadialLayer> RadialLayers { get; } #

Gets radial arc layer definitions for layered radial charts.

public Boolean Smooth { get; set; } #

Gets or sets smooth interpolation. Setting false restores linear interpolation, or end-step interpolation for a step-line or step-area series.

public Boolean ShowInLegend { get; set; } #

Gets or sets a value indicating whether the series should appear in the chart legend.

public String? SemanticRole { get; set; } #

Gets or sets an optional semantic role emitted by capable renderers.

public Boolean? ShowDataLabels { get; set; } #

Gets or sets a series-specific data-label override. When null, the chart-level setting is used.

public ChartDataLabelPlacement? DataLabelPlacement { get; set; } #

Gets or sets the series-specific data-label placement. When null, the chart-level placement is used.

public TextStyleOverride DataLabelStyle { get; } #

Gets the series-specific data-label style. When empty, the chart-level data-label style is used.

public ChartAxisSide YAxis { get; set; } #

Gets or sets the vertical axis used for cartesian rendering.

public Double StrokeWidth { get; set; } #

Gets or sets the stroke width for line and area series.

public Double? MarkerRadius { get; set; } #

Gets or sets the canonical marker-radius override through ChartSeries.Markers. Null preserves the family and theme default; zero hides point glyphs. Bubble series require null and use ChartOptions.Bubble for radius bounds.

public ChartFinancialOptions Financial { get; } #

Gets the shared direction-specific candlestick and OHLC configuration.

public IReadOnlyDictionary<String, ChartFlowStyle> FlowStyles { get; } #

Gets a read-only view of paint overrides keyed by case-sensitive authored flow ID, scoped to this Sankey or Chord series.

public IReadOnlyDictionary<String, ChartSeriesState> FlowStates { get; } #

Gets a read-only view of semantic overrides keyed by case-sensitive authored flow ID, scoped to this Sankey or Chord series.

public ChartHistogramBinLayout? HistogramBinLayout { get; private set; } #

Gets the histogram's immutable measurement layout, or null for an ordinary series.

public ChartHistogramAggregation? HistogramAggregation { get; private set; } #

Gets the histogram aggregation, or null for an ordinary series.

public ChartHistogramEncoding? HistogramEncoding { get; private set; } #

Gets the histogram height encoding, or null for an ordinary series.

public IReadOnlyList<ChartHistogramBin> HistogramBins { get; private set; } #

Gets immutable aggregates in layout order, including empty intervals.

public ChartInterpolation Interpolation { get; set; } #

Gets or sets the interpolation of connected line, area and range boundaries. Step-line and step-area series default to ChartInterpolation.Step; other series default to ChartInterpolation.Linear. Members of one stacked-area group and axis must use the same interpolation and step position.

public ChartStepPosition StepPosition { get; set; } #

Gets or sets where step interpolation changes value. The default is End. A non-default position requires ChartInterpolation.Step during preparation.

public ChartMarkerOptions Markers { get; } #

Gets the canonical marker configuration for numeric point glyphs. Dotted maps support only the existing radius override.

public ChartRadarOptions Radar { get; } #

Gets the radar form and fill configuration for this series.

public IReadOnlyList<ChartNode> Nodes { get; } #

Gets immutable authored relationship nodes, in input order.

public IReadOnlyList<ChartHierarchyItem> HierarchyItems { get; } #

Gets the immutable authored groups and leaves of a Sunburst or Treemap series, in input order.

public IReadOnlyDictionary<String, ChartSeriesState> NodeStates { get; } #

Gets semantic states keyed by authored node ID, scoped to this relationship series.

public IReadOnlyList<ChartPoint> HistogramSourcePoints { get; private set; } #

Gets the histogram's immutable measurement/quantity observations in original input order; empty for other series.

public IReadOnlyList<ChartPoint> TrendLineSourcePoints { get; private set; } #

Gets the regression's immutable source observations in original input order; empty for other series.

public IReadOnlyList<Double> BoxPlotSourceSamples { get; private set; } #

Gets the raw box plot's immutable sample values in original input order; empty for authored summaries or other series.

public String? StackGroup { get; set; } #

Gets or sets the ordinal key of an independent Cartesian/radial bar, radial column, or stacked-area stack. A named bar stack participates in stacking even when the chart's bar mode is grouped. Null uses the chart's default bar arrangement or the default stacked-area group. Stacks on different axes and of different series kinds remain independent.

public Double? NormalizedTo { get; set; } #

Gets or sets the positive total used to normalize each positive and negative stack separately. Null retains source units. Every series in the same stack must use the same target. A zero-only stack remains at the baseline and produces a preparation diagnostic. Source values and their formatted labels are retained independently of normalized geometry.

public IReadOnlyList<ChartWaterfallItem> WaterfallItems { get; private set; } #

Gets immutable typed waterfall items in authored order; empty for the delta-point overload and other series.