Marker

Marker :: # (opaque)

Per-point size, color and validated Plotly marker symbol.

default : Marker

A six-pixel circle in Plotly blue, usable without validation.

new : Props -> Try(Marker, [InvalidMarkerSize(F64)])

Validate the diameter and construct a per-point marker. A negative or nonfinite size returns InvalidMarkerSize(size). For example, Marker.new({ size: 12, symbol: Diamond }) creates a larger diamond with the default color.

get_size : Marker -> F64

Read the validated marker diameter in pixels; zero denotes hidden.

get_color : Marker -> Color

Read the marker's fill color for reuse in another style.

get_symbol : Marker -> Str

Read the canonical Plotly symbol name, such as "diamond-open". Props accept typed symbol tags; this accessor returns display text.

to_json_value : Marker -> InternalJson

Internal composition hook used by Plume's renderers. Applications normally use Marker.to_json for complete JSON text; this returns the package's safe internal value without accepting raw JSON.

to_json : Marker -> Str

Serialize this validated value as a complete JSON document.

Symbol

:= [
    Circle,
    CircleOpen,
    CircleDot,
    CircleOpenDot,
    Square,
    SquareOpen,
    SquareDot,
    SquareOpenDot,
    Diamond,
    DiamondOpen,
    DiamondDot,
    DiamondOpenDot,
    Cross,
    CrossOpen,
    CrossDot,
    CrossOpenDot,
    X,
    XOpen,
    XDot,
    XOpenDot,
    TriangleUp,
    TriangleUpOpen,
    TriangleUpDot,
    TriangleUpOpenDot,
    TriangleDown,
    TriangleDownOpen,
    TriangleDownDot,
    TriangleDownOpenDot,
    TriangleLeft,
    TriangleLeftOpen,
    TriangleLeftDot,
    TriangleLeftOpenDot,
    TriangleRight,
    TriangleRightOpen,
    TriangleRightDot,
    TriangleRightOpenDot,
    TriangleNe,
    TriangleNeOpen,
    TriangleNeDot,
    TriangleNeOpenDot,
    TriangleSe,
    TriangleSeOpen,
    TriangleSeDot,
    TriangleSeOpenDot,
    TriangleSw,
    TriangleSwOpen,
    TriangleSwDot,
    TriangleSwOpenDot,
    TriangleNw,
    TriangleNwOpen,
    TriangleNwDot,
    TriangleNwOpenDot,
    Pentagon,
    PentagonOpen,
    PentagonDot,
    PentagonOpenDot,
    Hexagon,
    HexagonOpen,
    HexagonDot,
    HexagonOpenDot,
    Hexagon2,
    Hexagon2Open,
    Hexagon2Dot,
    Hexagon2OpenDot,
    Octagon,
    OctagonOpen,
    OctagonDot,
    OctagonOpenDot,
    Star,
    StarOpen,
    StarDot,
    StarOpenDot,
    Hexagram,
    HexagramOpen,
    HexagramDot,
    HexagramOpenDot,
    StarTriangleUp,
    StarTriangleUpOpen,
    StarTriangleUpDot,
    StarTriangleUpOpenDot,
    StarTriangleDown,
    StarTriangleDownOpen,
    StarTriangleDownDot,
    StarTriangleDownOpenDot,
    StarSquare,
    StarSquareOpen,
    StarSquareDot,
    StarSquareOpenDot,
    StarDiamond,
    StarDiamondOpen,
    StarDiamondDot,
    StarDiamondOpenDot,
    DiamondTall,
    DiamondTallOpen,
    DiamondTallDot,
    DiamondTallOpenDot,
    DiamondWide,
    DiamondWideOpen,
    DiamondWideDot,
    DiamondWideOpenDot,
    Hourglass,
    HourglassOpen,
    Bowtie,
    BowtieOpen,
    CircleCross,
    CircleCrossOpen,
    CircleX,
    CircleXOpen,
    SquareCross,
    SquareCrossOpen,
    SquareX,
    SquareXOpen,
    DiamondCross,
    DiamondCrossOpen,
    DiamondX,
    DiamondXOpen,
    CrossThin,
    CrossThinOpen,
    XThin,
    XThinOpen,
    Asterisk,
    AsteriskOpen,
    Hash,
    HashOpen,
    HashDot,
    HashOpenDot,
    YUp,
    YUpOpen,
    YDown,
    YDownOpen,
    YLeft,
    YLeftOpen,
    YRight,
    YRightOpen,
    LineEw,
    LineEwOpen,
    LineNs,
    LineNsOpen,
    LineNe,
    LineNeOpen,
    LineNw,
    LineNwOpen,
    ArrowUp,
    ArrowUpOpen,
    ArrowDown,
    ArrowDownOpen,
    ArrowLeft,
    ArrowLeftOpen,
    ArrowRight,
    ArrowRightOpen,
    ArrowBarUp,
    ArrowBarUpOpen,
    ArrowBarDown,
    ArrowBarDownOpen,
    ArrowBarLeft,
    ArrowBarLeftOpen,
    ArrowBarRight,
    ArrowBarRightOpen,
    Arrow,
    ArrowOpen,
    ArrowWide,
    ArrowWideOpen,
]

Plotly's finite set of named marker symbols. Use tags in props, and Marker.Symbol.from_str when reading a name from external data.

is_eq : _

Compare symbol tags, independently of their rendered appearance.

from_str : Str -> Try(Symbol, [InvalidSymbol(Str)])

Parse a canonical Plotly name. Numeric aliases are intentionally omitted from this API; tags make the selected symbol explicit.

to_str : Symbol -> Str

The canonical Plotly name of this symbol.

Props

:= {
    size : F64 ?? 6,
    color : Color ?? Color.rgb({ red: 31, green: 119, blue: 180 }),
    symbol : Symbol ?? Circle,
}

Style one scatter point. size is a finite, nonnegative marker diameter in pixels and defaults to six. Zero hides the marker. color defaults to Plotly blue. symbol uses a Marker.Symbol tag and defaults to Circle.