Skip to content

MarkExtensions

ClassChartGuruChartGuru
public static class MarkExtensions

Extension methods for fluent series grouping and styling. Swift Charts-style modifiers.

public static TMark ZIndex<TMark>(this TMark mark, int value) where TMark : ChartMark

Sets render order. Marks with higher values draw on top of lower values. Swift Charts equivalent: .ZIndex(_:).

Parameters

Name Type
mark {TMark}
value System.Int32

Returns

{TMark}

public static TMark ForegroundStyle<TMark>(this TMark mark, Color color) where TMark : ChartMark

Sets foreground color with explicit style. Swift Charts equivalent: .ForegroundStyle(color).

Parameters

Name Type
mark {TMark}
color UnityEngine.Color

Returns

{TMark}

public static TMark ForegroundStyle<TMark>(this TMark mark, Color color, float opacity) where TMark : ChartMark

Sets foreground color and opacity. Swift Charts equivalent: .ForegroundStyle(color.Opacity(value)).

Parameters

Name Type
mark {TMark}
color UnityEngine.Color
opacity System.Single

Returns

{TMark}

ForegroundStyle(TMark, LinearGradientStyle)

Section titled “ForegroundStyle(TMark, LinearGradientStyle)”
public static TMark ForegroundStyle<TMark>(this TMark mark, LinearGradientStyle gradient) where TMark : ChartMark

Sets a linear gradient as the foreground style. Swift Charts equivalent: .ForegroundStyle(LinearGradient(…)).

Parameters

Name Type
mark {TMark}
gradient ChartGuru.LinearGradientStyle

Returns

{TMark}

public static TMark ForegroundStyle<TMark>(this TMark mark, GradientStyle gradient) where TMark : ChartMark

Sets a general gradient style as the foreground style. Swift Charts equivalent: .ForegroundStyle(RadialGradient(…)) or .ForegroundStyle(AngularGradient(…)).

Parameters

Name Type
mark {TMark}
gradient ChartGuru.GradientStyle

Returns

{TMark}

public static TMark ForegroundStyleGradient<TMark>(this TMark mark, Color color) where TMark : ChartMark

Creates an implicit top-to-bottom gradient from a single color. Swift Charts equivalent: .ForegroundStyle(Color.gradient).

Parameters

Name Type
mark {TMark}
color UnityEngine.Color

Returns

{TMark}

public static TMark ForegroundStyle<TMark>(this TMark mark, PlottableValueRef value) where TMark : ChartMark

Sets a key for automatic color assignment and legend generation. Swift Charts equivalent: .ForegroundStyle(by: .Value(“Category”, category)).

Parameters

Name Type
mark {TMark}
value ChartGuru.PlottableValueRef

Returns

{TMark}

public static TMark Opacity<TMark>(this TMark mark, float value) where TMark : ChartMark

Sets the opacity of this mark. Swift Charts equivalent: .Opacity(_:).

Parameters

Name Type
mark {TMark}
value System.Single

Returns

{TMark}

public static TMark BlendMode<TMark>(this TMark mark, MarkBlendMode mode) where TMark : ChartMark

Sets the blend mode for this mark. Swift Charts equivalent: .BlendMode(_:).

Parameters

Name Type
mark {TMark}
mode ChartGuru.MarkBlendMode

Returns

{TMark}

public static TMark ClipShape<TMark>(this TMark mark, ClipShape shape) where TMark : ChartMark

Clips the mark to the specified shape. Swift Charts equivalent: .ClipShape(_:).

Parameters

Name Type
mark {TMark}
shape ChartGuru.ClipShape

Returns

{TMark}

public static TMark Blur<TMark>(this TMark mark, float radius) where TMark : ChartMark

Applies blur metadata to this mark. Swift Charts equivalent: .Blur(radius:).

Parameters

Name Type
mark {TMark}
radius System.Single

Returns

{TMark}

public static TMark Mask<TMark>(this TMark mark, IChartContent content) where TMark : ChartMark

Masks this mark with the given chart content. Swift Charts equivalent: .mask { content }.

Parameters

Name Type
mark {TMark}
content ChartGuru.IChartContent

Returns

{TMark}

public static TMark CompositingLayer<TMark>(this TMark mark, bool enabled = true) where TMark : ChartMark

Marks this item as an isolated compositing layer. Swift Charts equivalent: .CompositingLayer().

Parameters

Name Type
mark {TMark}
enabled System.Boolean

Returns

{TMark}

Annotation(TMark, AnnotationPosition, string)

Section titled “Annotation(TMark, AnnotationPosition, string)”
public static TMark Annotation<TMark>(this TMark mark, AnnotationPosition position, string text) where TMark : ChartMark

Swift parity: .Annotation(position:) { Text(“…”) }.

Parameters

Name Type
mark {TMark}
position ChartGuru.AnnotationPosition
text System.String

Returns

{TMark}

Annotation(TMark, AnnotationPosition, Func<DataPoint, string>)

Section titled “Annotation(TMark, AnnotationPosition, Func<DataPoint, string>)”
public static TMark Annotation<TMark>(this TMark mark, AnnotationPosition position, Func<DataPoint, string> formatter) where TMark : ChartMark

Swift parity: .Annotation(position:) { content }.

Parameters

Name Type
mark {TMark}
position ChartGuru.AnnotationPosition
formatter System.Func{ChartGuru.DataPoint,System.String}

Returns

{TMark}

Annotation(TMark, AnnotationPosition, AnnotationAlignment, string)

Section titled “Annotation(TMark, AnnotationPosition, AnnotationAlignment, string)”
public static TMark Annotation<TMark>(this TMark mark, AnnotationPosition position, AnnotationAlignment alignment, string text) where TMark : ChartMark

Swift parity: .Annotation(position:alignment:) { Text(“…”) }.

Parameters

Name Type
mark {TMark}
position ChartGuru.AnnotationPosition
alignment ChartGuru.AnnotationAlignment
text System.String

Returns

{TMark}

Annotation(TMark, AnnotationPosition, AnnotationAlignment, Func<DataPoint, string>)

Section titled “Annotation(TMark, AnnotationPosition, AnnotationAlignment, Func<DataPoint, string>)”
public static TMark Annotation<TMark>(this TMark mark, AnnotationPosition position, AnnotationAlignment alignment, Func<DataPoint, string> formatter) where TMark : ChartMark

Swift parity: .Annotation(position:alignment:) { content }.

Parameters

Name Type
mark {TMark}
position ChartGuru.AnnotationPosition
alignment ChartGuru.AnnotationAlignment
formatter System.Func{ChartGuru.DataPoint,System.String}

Returns

{TMark}

Annotation(TMark, AnnotationPosition, string, Vector2)

Section titled “Annotation(TMark, AnnotationPosition, string, Vector2)”
public static TMark Annotation<TMark>(this TMark mark, AnnotationPosition position, string text, Vector2 offset) where TMark : ChartMark

Swift parity: .Annotation(position:) { Text(“…”) } with an offset.

Parameters

Name Type
mark {TMark}
position ChartGuru.AnnotationPosition
text System.String
offset UnityEngine.Vector2

Returns

{TMark}

Annotation(TMark, AnnotationPosition, AnnotationAlignment, string, float, AnnotationOverflowResolution)

Section titled “Annotation(TMark, AnnotationPosition, AnnotationAlignment, string, float, AnnotationOverflowResolution)”
public static TMark Annotation<TMark>(this TMark mark, AnnotationPosition position, AnnotationAlignment alignment, string text, float spacing = 0, AnnotationOverflowResolution overflowResolution = AnnotationOverflowResolution.Automatic) where TMark : ChartMark

Swift parity: .Annotation(position:alignment:spacing:overflowResolution:).

Parameters

Name Type
mark {TMark}
position ChartGuru.AnnotationPosition
alignment ChartGuru.AnnotationAlignment
text System.String
spacing System.Single
overflowResolution ChartGuru.AnnotationOverflowResolution

Returns

{TMark}

Annotation(TMark, AnnotationPosition, AnnotationAlignment, Func<DataPoint, string>, float, AnnotationOverflowResolution)

Section titled “Annotation(TMark, AnnotationPosition, AnnotationAlignment, Func<DataPoint, string>, float, AnnotationOverflowResolution)”
public static TMark Annotation<TMark>(this TMark mark, AnnotationPosition position, AnnotationAlignment alignment, Func<DataPoint, string> formatter, float spacing = 0, AnnotationOverflowResolution overflowResolution = AnnotationOverflowResolution.Automatic) where TMark : ChartMark

Swift parity: .Annotation(position:alignment:spacing:overflowResolution:) { content }.

Parameters

Name Type
mark {TMark}
position ChartGuru.AnnotationPosition
alignment ChartGuru.AnnotationAlignment
formatter System.Func{ChartGuru.DataPoint,System.String}
spacing System.Single
overflowResolution ChartGuru.AnnotationOverflowResolution

Returns

{TMark}

public static TMark AnnotationSpacing<TMark>(this TMark mark, float spacing) where TMark : ChartMark

Swift parity: .Annotation(spacing:).

Parameters

Name Type
mark {TMark}
spacing System.Single

Returns

{TMark}

AnnotationOverflowResolution(TMark, AnnotationOverflowResolution)

Section titled “AnnotationOverflowResolution(TMark, AnnotationOverflowResolution)”
public static TMark AnnotationOverflowResolution<TMark>(this TMark mark, AnnotationOverflowResolution resolution) where TMark : ChartMark

Swift parity: .Annotation(overflowResolution:).

Parameters

Name Type
mark {TMark}
resolution ChartGuru.AnnotationOverflowResolution

Returns

{TMark}

AnnotationOverflowResolution(TMark, AnnotationOverflowConfig)

Section titled “AnnotationOverflowResolution(TMark, AnnotationOverflowConfig)”
public static TMark AnnotationOverflowResolution<TMark>(this TMark mark, AnnotationOverflowConfig config) where TMark : ChartMark

Swift parity: .Annotation(overflowResolution:) with per-axis configuration.

Parameters

Name Type
mark {TMark}
config ChartGuru.AnnotationOverflowConfig

Returns

{TMark}

public static TMark AnnotationTextColor<TMark>(this TMark mark, Color color) where TMark : ChartMark

Sets the text color for this mark’s annotation label. Swift Charts equivalent: styling the text inside .annotation.

Parameters

Name Type
mark {TMark}
color UnityEngine.Color

Returns

{TMark}

public static TMark Offset<TMark>(this TMark mark, float x = 0, float y = 0) where TMark : ChartMark

Offsets the mark by the specified amount in plot coordinates. Swift Charts equivalent: .Offset(x:y:).

Parameters

Name Type
mark {TMark}
x System.Single
y System.Single

Returns

{TMark}

public static TMark Offset<TMark>(this TMark mark, Vector2 offset) where TMark : ChartMark

Offsets the mark by the specified vector in plot coordinates. Swift Charts equivalent: .Offset(_:).

Parameters

Name Type
mark {TMark}
offset UnityEngine.Vector2

Returns

{TMark}

Offset(TMark, float?, float?, float?, float?)

Section titled “Offset(TMark, float?, float?, float?, float?)”
public static TMark Offset<TMark>(this TMark mark, float? xStart = null, float? xEnd = null, float? yStart = null, float? yEnd = null) where TMark : ChartMark

Offsets the mark to stretch between two explicit domain-space ranges. Swift Charts equivalent: .Offset(xStart:xEnd:yStart:yEnd:).

Parameters

Name Type
mark {TMark}
xStart System.Nullable{System.Single}
xEnd System.Nullable{System.Single}
yStart System.Nullable{System.Single}
yEnd System.Nullable{System.Single}

Returns

{TMark}

public static TMark Series<TMark>(this TMark mark, PlottableValueRef value) where TMark : ChartMark

Assigns a semantic series key and matching foreground-style key. This is the closest C# equivalent to Swift Charts series encodings used for grouping and legends.

Parameters

Name Type
mark {TMark}
value ChartGuru.PlottableValueRef

Returns

{TMark}

public static TMark Category<TMark>(this TMark mark, PlottableValueRef value) where TMark : ChartMark

Assigns a semantic category label from a plottable value. For sectors, this also seeds the foreground-style key when none is set.

Parameters

Name Type
mark {TMark}
value ChartGuru.PlottableValueRef

Returns

{TMark}

public static BarMark Position(this BarMark mark, PlottableValueRef value)

Position bars side-by-side based on PlottableValue. Swift Charts equivalent: .Position(by: .Value(“City”, series.city))

Parameters

Name Type
mark ChartGuru.BarMark
value ChartGuru.PlottableValueRef

Returns

ChartGuru.BarMark

Position(BarMark, PlottableValueRef, MarkAxis)

Section titled “Position(BarMark, PlottableValueRef, MarkAxis)”
public static BarMark Position(this BarMark mark, PlottableValueRef value, MarkAxis axis)

Position bars side-by-side with an explicit axis override. Swift Charts equivalent: .Position(by: .Value(“City”, city), axis: .horizontal).

Parameters

Name Type
mark ChartGuru.BarMark
value ChartGuru.PlottableValueRef
axis ChartGuru.MarkAxis

Returns

ChartGuru.BarMark

public static LineMark Position(this LineMark mark, PlottableValueRef value)

Position line content by a grouping value. Swift Charts equivalent: .Position(by: .Value(“Series”, value))

Parameters

Name Type
mark ChartGuru.LineMark
value ChartGuru.PlottableValueRef

Returns

ChartGuru.LineMark

Position(LineMark, PlottableValueRef, MarkAxis)

Section titled “Position(LineMark, PlottableValueRef, MarkAxis)”
public static LineMark Position(this LineMark mark, PlottableValueRef value, MarkAxis axis)

Position line content by a grouping value with an explicit axis override.

Parameters

Name Type
mark ChartGuru.LineMark
value ChartGuru.PlottableValueRef
axis ChartGuru.MarkAxis

Returns

ChartGuru.LineMark

public static PointMark Position(this PointMark mark, PlottableValueRef value)

Position point content by a grouping value. Swift Charts equivalent: .Position(by: .Value(“Series”, value))

Parameters

Name Type
mark ChartGuru.PointMark
value ChartGuru.PlottableValueRef

Returns

ChartGuru.PointMark

Position(PointMark, PlottableValueRef, MarkAxis)

Section titled “Position(PointMark, PlottableValueRef, MarkAxis)”
public static PointMark Position(this PointMark mark, PlottableValueRef value, MarkAxis axis)

Position point content by a grouping value with an explicit axis override.

Parameters

Name Type
mark ChartGuru.PointMark
value ChartGuru.PlottableValueRef
axis ChartGuru.MarkAxis

Returns

ChartGuru.PointMark

public static AreaMark Position(this AreaMark mark, PlottableValueRef value)

Position area content by a grouping value. Swift Charts equivalent: .Position(by: .Value(“Series”, value))

Parameters

Name Type
mark ChartGuru.AreaMark
value ChartGuru.PlottableValueRef

Returns

ChartGuru.AreaMark

Position(AreaMark, PlottableValueRef, MarkAxis)

Section titled “Position(AreaMark, PlottableValueRef, MarkAxis)”
public static AreaMark Position(this AreaMark mark, PlottableValueRef value, MarkAxis axis)

Position area content by a grouping value with an explicit axis override.

Parameters

Name Type
mark ChartGuru.AreaMark
value ChartGuru.PlottableValueRef
axis ChartGuru.MarkAxis

Returns

ChartGuru.AreaMark

Position(BarMark, PlottableValueRef, MarkAxis, MarkDimension)

Section titled “Position(BarMark, PlottableValueRef, MarkAxis, MarkDimension)”
public static BarMark Position(this BarMark mark, PlottableValueRef value, MarkAxis axis, MarkDimension span)

Position bars side-by-side with an explicit axis override and a per-dodge-slot span. Swift Charts equivalent: .Position(by:axis:span:). The span overrides the slot width that would otherwise be derived from the bar’s own width.

Parameters

Name Type
mark ChartGuru.BarMark
value ChartGuru.PlottableValueRef
axis ChartGuru.MarkAxis
span ChartGuru.MarkDimension

Returns

ChartGuru.BarMark

Position(LineMark, PlottableValueRef, MarkAxis, MarkDimension)

Section titled “Position(LineMark, PlottableValueRef, MarkAxis, MarkDimension)”
public static LineMark Position(this LineMark mark, PlottableValueRef value, MarkAxis axis, MarkDimension span)

Per-dodge-slot span overload for line marks. Swift parity: .Position(by:axis:span:).

Parameters

Name Type
mark ChartGuru.LineMark
value ChartGuru.PlottableValueRef
axis ChartGuru.MarkAxis
span ChartGuru.MarkDimension

Returns

ChartGuru.LineMark

Position(PointMark, PlottableValueRef, MarkAxis, MarkDimension)

Section titled “Position(PointMark, PlottableValueRef, MarkAxis, MarkDimension)”
public static PointMark Position(this PointMark mark, PlottableValueRef value, MarkAxis axis, MarkDimension span)

Per-dodge-slot span overload for point marks. Swift parity: .Position(by:axis:span:).

Parameters

Name Type
mark ChartGuru.PointMark
value ChartGuru.PlottableValueRef
axis ChartGuru.MarkAxis
span ChartGuru.MarkDimension

Returns

ChartGuru.PointMark

Position(AreaMark, PlottableValueRef, MarkAxis, MarkDimension)

Section titled “Position(AreaMark, PlottableValueRef, MarkAxis, MarkDimension)”
public static AreaMark Position(this AreaMark mark, PlottableValueRef value, MarkAxis axis, MarkDimension span)

Per-dodge-slot span overload for area marks. Swift parity: .Position(by:axis:span:).

Parameters

Name Type
mark ChartGuru.AreaMark
value ChartGuru.PlottableValueRef
axis ChartGuru.MarkAxis
span ChartGuru.MarkDimension

Returns

ChartGuru.AreaMark

public static BarMark Stacked(this BarMark mark)

Stack bars on top of each other. Swift Charts equivalent: BarMark(…, stacking: .standard)

Parameters

Name Type
mark ChartGuru.BarMark

Returns

ChartGuru.BarMark

public static BarMark Grouped(this BarMark mark)

Group bars side by side (unstacked). Swift Charts equivalent: BarMark(…, stacking: .unstacked)

Parameters

Name Type
mark ChartGuru.BarMark

Returns

ChartGuru.BarMark

public static BarMark Normalized(this BarMark mark)

Normalize stacking to 100%. Swift Charts equivalent: BarMark(…, stacking: .normalized)

Parameters

Name Type
mark ChartGuru.BarMark

Returns

ChartGuru.BarMark

public static BarMark Centered(this BarMark mark)

Center stacking around Baseline (streamgraph style). Swift Charts equivalent: BarMark(…, stacking: .center)

Parameters

Name Type
mark ChartGuru.BarMark

Returns

ChartGuru.BarMark

public static AreaMark Stacked(this AreaMark mark)

Stack areas. Swift Charts equivalent: AreaMark(…, stacking: .standard)

Parameters

Name Type
mark ChartGuru.AreaMark

Returns

ChartGuru.AreaMark

public static AreaMark Normalized(this AreaMark mark)

Normalize stacking to 100%. Swift Charts equivalent: AreaMark(…, stacking: .normalized)

Parameters

Name Type
mark ChartGuru.AreaMark

Returns

ChartGuru.AreaMark

public static AreaMark Centered(this AreaMark mark)

Center stacking around Baseline (streamgraph style). Swift Charts equivalent: AreaMark(…, stacking: .center)

Parameters

Name Type
mark ChartGuru.AreaMark

Returns

ChartGuru.AreaMark

public static LineMark Curved(this LineMark mark)

Make line curved with Catmull-Rom spline. Swift Charts equivalent: .InterpolationMethod(.catmullRom)

Parameters

Name Type
mark ChartGuru.LineMark

Returns

ChartGuru.LineMark

public static LineMark Stepped(this LineMark mark)

Make line stepped. Swift Charts equivalent: .InterpolationMethod(.stepMiddle)

Parameters

Name Type
mark ChartGuru.LineMark

Returns

ChartGuru.LineMark

public static T AccessibilityLabel<T>(this T mark, string label) where T : ChartMark

Swift parity: .AccessibilityLabel(_:).

Parameters

Name Type
mark {T}
label System.String

Returns

{T}

public static T AccessibilityValue<T>(this T mark, string value) where T : ChartMark

Swift parity: .AccessibilityValue(_:).

Parameters

Name Type
mark {T}
value System.String

Returns

{T}

public static T AccessibilityIdentifier<T>(this T mark, string identifier) where T : ChartMark

Swift parity: .AccessibilityIdentifier(_:).

Parameters

Name Type
mark {T}
identifier System.String

Returns

{T}

public static T AccessibilityHidden<T>(this T mark, bool hidden = true) where T : ChartMark

Swift parity: .AccessibilityHidden(_:).

Parameters

Name Type
mark {T}
hidden System.Boolean

Returns

{T}

public static T Symbol<T>(this T mark, Func<Rect, Color, bool> customRenderer) where T : ChartMark

Sets a custom symbol renderer callback for this mark. Swift Charts equivalent: .Symbol() { custom View }.

Parameters

Name Type
mark {T}
customRenderer System.Func{UnityEngine.Rect,UnityEngine.Color,System.Boolean}

Returns

{T}

public static T Shadow<T>(this T mark, Color color, Vector2 offset, float blur = 4) where T : ChartMark

Adds a drop shadow to this mark with color, offset, and blur. Swift Charts equivalent: .Shadow(color:radius:x:y:).

Parameters

Name Type
mark {T}
color UnityEngine.Color
offset UnityEngine.Vector2
blur System.Single

Returns

{T}

public static T Shadow<T>(this T mark, float blur = 4) where T : ChartMark

Adds a default drop shadow to this mark.

Parameters

Name Type
mark {T}
blur System.Single

Returns

{T}