Sign in

    Lampese/mathplotlib/scene does not have a README file

    LegendPosition

    Legend placement is a public value shared with render backends.

    Anchor

    pub(all) enum Anchor {
    Named(String)
    Fraction(Double, Double)
    }

    An axes anchor, measured within the space left by aspect shrinking. Named accepts C, SW, S, SE, E, NE, N, NW, or W. Fraction stores a pair relative to the original box: x=0 is left, y=0 is bottom. Finite values outside [0, 1] place the active box outside the allocated rectangle.

    Annotation

    pub struct Annotation {
    x : Double
    y : Double
    text_x : Double
    text_y : Double
    value : String
    xycoords : String
    textcoords : String
    connector : String
    arrow : Bool
    arrowcolor : String
    linewidth : Double
    head_length : Double
    head_width : Double
    style :
    Style

    }

    An annotation whose anchor and text may use display-relative coordinates.

    Artist

    pub(all) enum Artist {
    Line(Array[
    Point
    ],
    Style
    )
    Scatter(Array[
    Point
    ],
    Style
    )
    PathCollection(PathCollection)
    Bar(Array[
    Point
    ],
    Style
    )
    BarH(Array[
    Point
    ],
    Style
    )
    FillBetween(Array[
    Point
    ], Array[
    Point
    ],
    Style
    )
    Polygon(Array[
    Point
    ],
    Style
    )
    CompoundPolygon(Array[Array[
    Point
    ]],
    Style
    )
    GouraudTriangle(Array[
    Point
    ], Array[String])
    HLine(Double,
    Style
    )
    VLine(Double,
    Style
    )
    AxLine(
    Point
    ,
    Point
    ,
    Style
    )
    HSpan(Double, Double,
    Style
    )
    VSpan(Double, Double,
    Style
    )
    Text(Double, Double, String,
    Style
    )
    Annotation(Annotation)
    ErrorBar(Array[
    Point
    ], Array[Double], Array[Double],
    Style
    )
    Image(Array[Array[Double]], Double?, Double?,
    ColorMap
    )
    ImageNorm(Array[Array[Double]],
    ColorNorm
    ,
    ColorMap
    , ImageOrigin, (Double, Double, Double, Double)?, Double, ImageInterpolation)
    ColorImage(Array[Array[
    Rgba
    ]], ImageOrigin, (Double, Double, Double, Double)?, Double, ImageInterpolation)
    Table(Table)
    Pie(Array[Double], Array[String], Array[String], Double)
    BoxPlot(Array[
    BoxStats
    ], Bool,
    Style
    )
    Quiver(Array[
    Point
    ], Array[
    Point
    ],
    Style
    )
    Violin(Array[ViolinStats], Array[Double], Array[Double], Bool, ViolinSide, Bool, Bool, Bool,
    Style
    ,
    Style
    , Double)
    }

    A plotting primitive stored by a figure.

    Axes

    pub struct Axes {
    figure : Figure
    state :
    Ref
    [AxesData]
    }

    A handle to one independent plotting panel in a figure.

    Axes::acorr

    fn Axes::acorr(self : Axes, values : Array[Double], normed? : Bool, usevlines? : Bool, maxlags? : Int, color? : String, label? : String, detrend? : (Array[Double]) -> Array[Double]) -> Correlation raise
    DataError

    Plot and return a normalized autocorrelation sequence.

    detrend receives an owned copy of the samples and must return an array of the same length. Use detrend_mean for the common mean-removal case.

    Axes::annotate

    fn Axes::annotate(self : Axes, value : String, x : Double, y : Double, offset_x? : Double, offset_y? : Double, arrow? : Bool, color? : String, arrowcolor? : String, linewidth? : Double, head_length? : Double, head_width? : Double, fontsize? : Int, xycoords? : String, textcoords? : String, connector? : String) -> Unit raise
    DataError

    Add text at a data point, optionally connected by an arrow.

    Axes::apply_aspect

    fn Axes::apply_aspect(self : Axes) -> Unit raise
    DataError

    Apply aspect immediately, updating active position and datalim views. Detached handles or unrepresentable transformed ranges raise DataError. In datalim mode x_limits/y_limits expose the resolved view after this call.

    test {
    let fig = @scene.figure(width=400, height=200)
    let ax = try! fig.add_axes(0.0, 0.0, 1.0, 1.0)
    try! ax.plot([0.0, 1.0], [0.0, 1.0])
    try! ax.set_xlim(0.0, 1.0)
    try! ax.set_ylim(0.0, 1.0)
    try! ax.set_aspect(1.0, adjustable="datalim")
    try! ax.apply_aspect()
    assert_eq(ax.get_xlim().unwrap().lower(), -0.5)
    assert_eq(ax.get_position().unwrap().width(), 1.0)
    }

    Axes::arrow

    fn Axes::arrow(self : Axes, x : Double, y : Double, dx : Double, dy : Double, color? : String, linewidth? : Double, head_length? : Double, head_width? : Double, label? : String) -> Unit raise
    DataError

    Draw one data-coordinate arrow from (x, y) by (dx, dy).

    Axes::artists

    fn Axes::artists(self : Axes) -> Array[Artist]

    Return this panel's artists in insertion order.

    Axes::aspect_equal

    fn Axes::aspect_equal(self : Axes) -> Bool

    Return whether this axes panel uses equal data scaling.

    Axes::autoscale

    fn Axes::autoscale(self : Axes, enable? : Bool?, axis? : String, tight? : Bool) -> Unit raise
    DataError

    Enable automatic limits and request them lazily. None preserves both flags. Tight requests zero only the selected local margins; autoscale_view does not.

    Axes::autoscale_tight

    fn Axes::autoscale_tight(self : Axes) -> Bool?

    Axes::autoscale_view

    fn Axes::autoscale_view(self : Axes, tight? : Bool, scalex? : Bool, scaley? : Bool, axis? : String) -> Unit raise
    DataError

    Recompute selected automatic views now, using cached shared data intervals. axis is a compatibility selector combined with scalex/scaley.

    Axes::axhline

    fn Axes::axhline(self : Axes, value : Double, color? : String, label? : String) -> Unit raise
    DataError

    Add a horizontal reference line through the axes view.

    Axes::axhspan

    fn Axes::axhspan(self : Axes, ymin : Double, ymax : Double, color? : String, label? : String) -> Unit raise
    DataError

    Fill the horizontal span between two y values across the axes.

    Axes::axis_visible

    fn Axes::axis_visible(self : Axes) -> Bool

    Return whether this panel's primary axis decorations are visible.

    Axes::axline

    fn Axes::axline(self : Axes, xy1 :
    Point
    , xy2? :
    Point
    , slope? : Double, color? : String, label? : String) -> Unit raise
    DataError

    Draw an infinitely long line through one or two data points.

    Axes::axvline

    fn Axes::axvline(self : Axes, value : Double, color? : String, label? : String) -> Unit raise
    DataError

    Add a vertical reference line through the axes view.

    Axes::axvspan

    fn Axes::axvspan(self : Axes, xmin : Double, xmax : Double, color? : String, label? : String) -> Unit raise
    DataError

    Fill the vertical span between two x values across the axes.

    Axes::bar

    fn Axes::bar(self : Axes, points : Array[
    Point
    ], color? : String, label? : String) -> Unit

    Add bars through the axes view.

    Axes::bar_category

    fn Axes::bar_category(self : Axes, categories : Array[String], values : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add bars whose x coordinates are string categories.

    Axes::bar_category_y

    fn Axes::bar_category_y(self : Axes, values : Array[Double], categories : Array[String], color? : String, label? : String) -> Unit raise
    DataError

    Add bars whose y coordinates are string categories.

    Axes::barbs

    fn Axes::barbs(self : Axes, xs : Array[Double], ys : Array[Double], us : Array[Double], vs : Array[Double], color? : String, linewidth? : Double, barb_length? : Double, label? : String) -> Unit raise
    DataError

    Draw basic wind barbs for paired data-coordinate vectors.

    Axes::barbs_with_options

    fn Axes::barbs_with_options(self : Axes, xs : Array[Double], ys : Array[Double], us : Array[Double], vs : Array[Double], color? : String, linewidth? : Double, barb_length? : Double, label? : String, half_increment? : Double, full_increment? : Double, flag_increment? : Double, rounding? : Bool, flip? : Bool, fill_empty? : Bool, pivot? : String) -> Unit raise
    DataError

    Draw wind barbs with magnitude increments, pivot, flip, and calm-barb options. The default increments match Matplotlib's half/full/flag values.

    Axes::barh

    fn Axes::barh(self : Axes, ys : Array[Double], widths : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add horizontal bars through the axes view.

    Axes::boxplot

    fn Axes::boxplot(self : Axes, data : Array[Array[Double]], horizontal? : Bool, color? : String, label? : String) -> Array[
    BoxStats
    ] raise
    DataError

    Draw box-and-whisker plots for one or more value series.

    Axes::broken_barh

    fn Axes::broken_barh(self : Axes, xranges : Array[(Double, Double)], yrange : (Double, Double), color? : String, label? : String) -> Unit raise
    DataError

    Draw horizontal broken bars through the axes view.

    Axes::clabel

    fn Axes::clabel(self : Axes, contours : ContourSet, inline? : Bool, fontsize? : Int, color? : String) -> Unit raise
    DataError

    Add one text label at a representative segment for each contour level.

    Axes::clear

    fn Axes::clear(self : Axes) -> Unit

    Clear this axes' artists and presentation state while retaining its panel rectangle and shared-axis membership.

    Axes::clear_checked

    fn Axes::clear_checked(self : Axes) -> Unit raise
    DataError

    Reset this panel through the source-ordered coordinate clear lifecycle. Already performed mutations remain observable if a checked provider fails.

    Axes::clear_legend

    fn Axes::clear_legend(self : Axes) -> Unit

    Remove this panel's legend.

    Axes::color_cycle

    fn Axes::color_cycle(self : Axes) -> Array[String]

    Return a copy of the current property color cycle.

    Axes::containers

    fn Axes::containers(self : Axes) -> Array[Container]

    Return composite containers created on this axes panel.

    Axes::contour

    fn Axes::contour(self : Axes, data : Array[Array[Double]], x? : Array[Double], y? : Array[Double], levels? : Array[Double], nlevels? : Int, color? : String, linewidth? : Double, label? : String, corner_mask? : Bool, locator? :
    Locator
    ?, colors? : Array[String], linewidths? : Array[Double]) -> ContourSet raise
    DataError

    Draw contour lines over a regular rectangular grid on this axes.

    Axes::contourf

    fn Axes::contourf(self : Axes, data : Array[Array[Double]], x? : Array[Double], y? : Array[Double], levels? : Array[Double], nlevels? : Int, colors? : Array[String], cmap? : String, label? : String, extend_mode? : String, corner_mask? : Bool, locator? :
    Locator
    ?) -> ContourSet raise
    DataError

    Draw filled contour bands over a regular rectangular grid on this axes.

    Axes::data_limits

    fn Axes::data_limits(self : Axes, horizontal? : Bool) ->
    Limits

    Cached raw data limits, independent of viewport and displayed scale.

    Axes::data_minpos

    fn Axes::data_minpos(self : Axes, horizontal? : Bool) -> Double

    Cached minimum positive raw coordinate, including interior artist points.

    Axes::ecdf

    fn Axes::ecdf(self : Axes, values : Array[Double], weights? : Array[Double], complementary? : Bool, horizontal? : Bool, compress? : Bool, color? : String, label? : String) -> Ecdf raise
    DataError

    Plot and return an empirical cumulative distribution function.

    Axes::errorbar

    fn Axes::errorbar(self : Axes, xs : Array[Double], ys : Array[Double], yerr? : Array[Double], xerr? : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add error bars through the axes view.

    Axes::eventplot

    fn Axes::eventplot(self : Axes, positions : Array[Array[Double]], orientation? : String, lineoffsets? : Array[Double], linelengths? : Array[Double], linewidth? : Double, color? : String) -> Unit raise
    DataError

    Draw parallel event markers through the axes view.

    Axes::figure

    fn Axes::figure(self : Axes) -> Figure

    Return the figure owning these axes.

    Axes::fill

    fn Axes::fill(self : Axes, xs : Array[Double], ys : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Fill a closed polygon through the axes view.

    Axes::fill_between

    fn Axes::fill_between(self : Axes, xs : Array[Double], lower : Array[Double], upper : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Fill an area through the axes view.

    Axes::fill_between_masked

    Fill between masked lower and upper arrays through the axes view.

    Axes::fill_betweenx

    fn Axes::fill_betweenx(self : Axes, ys : Array[Double], left : Array[Double], right? : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Fill the area between two x series through the axes view.

    Axes::fill_betweenx_masked

    Fill between masked left and right arrays through the axes view.

    Axes::get_adjustable

    fn Axes::get_adjustable(self : Axes) -> String

    Return "box" or "datalim" for the aspect adjustment strategy.

    test {
    assert_eq(@scene.figure().axes().get_adjustable(), "box")
    }

    Axes::get_anchor

    fn Axes::get_anchor(self : Axes) -> Anchor

    Return the anchor in the same Named or Fraction form supplied by the caller.

    test {
    let ax = @scene.figure().axes()
    assert_true(ax.get_anchor() is @scene.Anchor::Named("C"))
    try! ax.set_anchor(@scene.Anchor::Fraction(0.25, 0.75))
    assert_true(ax.get_anchor() is @scene.Anchor::Fraction(0.25, 0.75))
    }

    Axes::get_aspect

    fn Axes::get_aspect(self : Axes) -> Double?

    Return the numeric y/x display scale ratio, or None for automatic aspect. Matplotlib's "auto" maps to None and "equal" to Some(1.0).

    test {
    let ax = @scene.figure().axes()
    assert_true(ax.get_aspect() is None)
    ax.set_aspect_equal()
    assert_eq(ax.get_aspect(), Some(1.0))
    ax.set_aspect_auto()
    assert_true(ax.get_aspect() is None)
    }

    Axes::get_autoscale_on

    fn Axes::get_autoscale_on(self : Axes) -> Bool

    Axes::get_autoscalex_on

    fn Axes::get_autoscalex_on(self : Axes) -> Bool

    Axes::get_autoscaley_on

    fn Axes::get_autoscaley_on(self : Axes) -> Bool

    Axes::get_box_aspect

    fn Axes::get_box_aspect(self : Axes) -> Double?

    Return the physical box height/width constraint, or None if disabled.

    test {
    let ax = @scene.figure().axes()
    assert_true(ax.get_box_aspect() is None)
    try! ax.set_box_aspect(aspect=2.0)
    assert_eq(ax.get_box_aspect(), Some(2.0))
    }

    Axes::get_figure

    fn Axes::get_figure(self : Axes) -> Figure

    Axes::get_legend_handles_labels

    fn Axes::get_legend_handles_labels(self : Axes) -> Array[LegendEntry]

    Return the effective legend entries for this axes.

    Axes::get_margins

    fn Axes::get_margins(self : Axes) -> (Double, Double)

    Return the automatic (x, y) margins for this axes.

    Axes::get_position

    fn Axes::get_position(self : Axes, original? : Bool) ->
    Rect
    ?

    Return a normalized Figure rectangle with a lower-left origin.

    The returned Rect stores (left, bottom, width, height), unlike rect(), which returns the allocated display rectangle in pixels from the top left. original=true returns the allocated position. The default active position applies the same data/physical-aspect geometry as SVG rendering. Autoscale margins, shared limits, and image bounds are resolved by the existing renderer. Detached axes or nonpositive Figure dimensions return None. SubFigure axes currently use coordinates of the root Figure. Aspect-resolution failures return None; apply_aspect preserves DataError.

    test {
    let fig = @scene.figure(width=400, height=200)
    let ax = try! fig.add_axes(0.25, 0.25, 0.5, 0.5)
    try! ax.set_xlim(0.0, 1.0)
    try! ax.set_ylim(0.0, 1.0)
    ax.set_aspect_equal()
    assert_eq(ax.get_position(original=true).unwrap().width(), 0.5)
    assert_eq(ax.get_position().unwrap().width(), 0.25)
    }

    Axes::get_subplotspec

    Axes::get_title

    fn Axes::get_title(self : Axes) -> String?

    Axes::get_xlabel

    fn Axes::get_xlabel(self : Axes) -> String?

    Axes::get_xlim

    Axes::get_xlim_checked

    Read the resolved x viewport, propagating checked provider errors.

    Axes::get_ylabel

    fn Axes::get_ylabel(self : Axes) -> String?

    Axes::get_ylim

    Axes::get_ylim_checked

    Read the resolved y viewport, propagating checked provider errors.

    Axes::grid

    fn Axes::grid(self : Axes, visible? : Bool, which? : String, color? : String, linewidth? : Double, axis? : String) -> Unit raise
    DataError

    Configure major or minor grid lines for this axes panel.

    which accepts "both", "x", "y", "major", or "minor". axis selects "both", "x", or "y" with the default or major/minor mode. The legacy which="x"/"y" selectors require the default axis="both". Shared axes propagate the corresponding setting to their linked panels.

    Axes::hexbin

    fn Axes::hexbin(self : Axes, xs : Array[Double], ys : Array[Double], values? : Array[Double], gridsize? : Int, mincnt? : Int, cmap? : String, vmin? : Double, vmax? : Double, color? : String, label? : String, reduce? : String, edgecolor? : String, linewidth? : Double, bins? : String, extent? : Array[Double], marginals? : Bool, reduce_fn? : HexbinReducer?) -> Hexbin raise
    DataError

    Bin points into a regular hexagonal grid and add filled polygons.

    Axes::hist

    fn Axes::hist(self : Axes, values : Array[Double], bins? : Int, color? : String, label? : String) -> Histogram raise
    DataError

    Compute and draw a histogram on this axes panel.

    Axes::hist2d

    fn Axes::hist2d(self : Axes, xs : Array[Double], ys : Array[Double], bins_x? : Int, bins_y? : Int, cmap? : String) -> Unit raise
    DataError

    Compute and draw a rectangular two-dimensional histogram.

    Axes::hlines

    fn Axes::hlines(self : Axes, ys : Array[Double], xmin : Double, xmax : Double, color? : String, label? : String) -> Unit raise
    DataError

    Draw horizontal line segments at the supplied y positions.

    Axes::ignore_existing_data_limits

    fn Axes::ignore_existing_data_limits(self : Axes) -> Bool

    Axes::imshow

    fn Axes::imshow(self : Axes, data : Array[Array[Double]], vmin? : Double, vmax? : Double, cmap? : String, origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a scalar image through the axes view.

    Axes::imshow_color

    fn Axes::imshow_color(self : Axes, data : Array[Array[
    Rgba
    ]], origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Alias for the typed RGBA axes entry point.

    Axes::imshow_masked

    fn Axes::imshow_masked(self : Axes, data :
    MaskedMatrix
    , vmin? : Double, vmax? : Double, cmap? : String, origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a masked scalar image through the axes view.

    Axes::imshow_masked_with_colormap

    fn Axes::imshow_masked_with_colormap(self : Axes, data :
    MaskedMatrix
    , cmap :
    ColorMap
    , vmin? : Double, vmax? : Double, origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a masked scalar image through the axes view using a custom colormap.

    Axes::imshow_masked_with_norm

    fn Axes::imshow_masked_with_norm(self : Axes, data :
    MaskedMatrix
    , norm :
    ColorNorm
    , cmap? : String, origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a masked scalar image through the axes view with explicit normalization.

    Axes::imshow_masked_with_norm_and_colormap

    fn Axes::imshow_masked_with_norm_and_colormap(self : Axes, data :
    MaskedMatrix
    , norm :
    ColorNorm
    , cmap :
    ColorMap
    , origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a masked scalar image through the axes view with explicit normalization and colormap objects.

    Axes::imshow_rgb

    fn Axes::imshow_rgb(self : Axes, data : Array[Array[
    Rgb
    ]], origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add an opaque RGB image through an axes handle.

    Axes::imshow_rgb_channels

    fn Axes::imshow_rgb_channels(self : Axes, data : Array[Array[Array[Double]]], origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add an RGB image from raw normalized three-channel pixels through axes.

    Axes::imshow_rgba

    fn Axes::imshow_rgba(self : Axes, data : Array[Array[
    Rgba
    ]], origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a prevalidated RGBA image through an axes handle.

    Axes::imshow_rgba_channels

    fn Axes::imshow_rgba_channels(self : Axes, data : Array[Array[Array[Double]]], origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add an RGBA image from raw normalized four-channel pixels through axes.

    Axes::imshow_with_colormap

    fn Axes::imshow_with_colormap(self : Axes, data : Array[Array[Double]], cmap :
    ColorMap
    , vmin? : Double, vmax? : Double, origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a scalar image through the axes view using a colormap object.

    Axes::imshow_with_norm

    fn Axes::imshow_with_norm(self : Axes, data : Array[Array[Double]], norm :
    ColorNorm
    , cmap? : String, origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a scalar image through the axes view with an explicit normalization.

    Axes::imshow_with_norm_and_colormap

    fn Axes::imshow_with_norm_and_colormap(self : Axes, data : Array[Array[Double]], norm :
    ColorNorm
    , cmap :
    ColorMap
    , origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a scalar image through the axes view with explicit normalization and colormap objects.

    Axes::is_attached

    fn Axes::is_attached(self : Axes) -> Bool

    Return whether this handle still belongs to its figure's axes list. Replacing a figure's subplot grid detaches its previous handles. Removing a panel also detaches all handles that refer to it.

    test {
    let fig = @scene.figure()
    let old = fig.axes()
    assert_true(old.is_attached())
    let panels = try! fig.subplots(1, 2)
    assert_true(!old.is_attached())
    assert_true(panels[0].is_attached())
    }

    Axes::legend

    fn Axes::legend(self : Axes, entries : Array[LegendEntry]) -> Unit

    Alias for set_legend matching the pyplot vocabulary.

    Axes::legend_entries

    fn Axes::legend_entries(self : Axes) -> Array[LegendEntry]

    Return the legend entries that would be rendered for this axes.

    Axes::legend_position

    Return this axes' legend anchor, initially UpperRight.

    Axes::line

    fn Axes::line(self : Axes, points : Array[
    Point
    ], color? : String, label? : String) -> Unit

    Add explicit line points through the axes view.

    Axes::loglog

    fn Axes::loglog(self : Axes, xs : Array[Double], ys : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add a plot with logarithmic x and y coordinates.

    Axes::margins

    fn Axes::margins(self : Axes) -> (Double, Double)

    Return the automatic margins as an (x, y) pair.

    Axes::matshow

    fn Axes::matshow(self : Axes, data : Array[Array[Double]], vmin? : Double, vmax? : Double, cmap? : String, interpolation? : String) -> Unit raise
    DataError

    Display a two-dimensional matrix with zero-based row and column indices.

    The first row is rendered at the top, x tick labels are placed above the image, and one data unit has the same display size on both axes. The interpolation accepts the same filter names as imshow.

    Axes::pcolor

    fn Axes::pcolor(self : Axes, data : Array[Array[Double]], x? : Array[Double], y? : Array[Double], vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw scalar values as filled quadrilaterals on a rectangular grid.

    Axes::pcolor_grid

    fn Axes::pcolor_grid(self : Axes, data : Array[Array[Double]], x : Array[Array[Double]], y : Array[Array[Double]], shading? : String, vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw a scalar mesh on a two-dimensional coordinate grid.

    Axes::pcolor_grid_masked

    fn Axes::pcolor_grid_masked(self : Axes, data :
    MaskedMatrix
    , x :
    MaskedMatrix
    , y :
    MaskedMatrix
    , shading? : String, vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw a masked scalar mesh through the axes view.

    Axes::pcolor_masked

    fn Axes::pcolor_masked(self : Axes, data :
    MaskedMatrix
    , x? : Array[Double], y? : Array[Double], vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw a masked scalar mesh through the axes view.

    Axes::pcolor_masked_with_norm_and_colormap

    fn Axes::pcolor_masked_with_norm_and_colormap(self : Axes, data :
    MaskedMatrix
    , norm :
    ColorNorm
    , cmap :
    ColorMap
    , x? : Array[Double], y? : Array[Double], antialiased? : Bool) -> Unit raise
    DataError

    Draw a masked scalar mesh through the axes view with explicit objects.

    Axes::pcolor_with_norm

    fn Axes::pcolor_with_norm(self : Axes, data : Array[Array[Double]], norm :
    ColorNorm
    , cmap? : String, x? : Array[Double], y? : Array[Double], antialiased? : Bool) -> Unit raise
    DataError

    Draw a scalar mesh through the axes view with explicit normalization.

    Axes::pcolor_with_norm_and_colormap

    fn Axes::pcolor_with_norm_and_colormap(self : Axes, data : Array[Array[Double]], norm :
    ColorNorm
    , cmap :
    ColorMap
    , x? : Array[Double], y? : Array[Double], antialiased? : Bool) -> Unit raise
    DataError

    Draw a scalar mesh through the axes view with explicit normalization.

    Axes::pcolormesh

    fn Axes::pcolormesh(self : Axes, data : Array[Array[Double]], x? : Array[Double], y? : Array[Double], vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw a fast rectangular scalar mesh.

    Axes::pcolormesh_grid

    fn Axes::pcolormesh_grid(self : Axes, data : Array[Array[Double]], x : Array[Array[Double]], y : Array[Array[Double]], shading? : String, vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw a fast scalar mesh on a two-dimensional coordinate grid.

    Axes::pcolormesh_grid_masked

    fn Axes::pcolormesh_grid_masked(self : Axes, data :
    MaskedMatrix
    , x :
    MaskedMatrix
    , y :
    MaskedMatrix
    , shading? : String, vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw a fast masked scalar mesh through the axes view.

    Axes::pcolormesh_masked

    fn Axes::pcolormesh_masked(self : Axes, data :
    MaskedMatrix
    , x? : Array[Double], y? : Array[Double], vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw a masked rectangular scalar mesh through the axes view.

    Axes::pcolormesh_masked_with_norm_and_colormap

    fn Axes::pcolormesh_masked_with_norm_and_colormap(self : Axes, data :
    MaskedMatrix
    , norm :
    ColorNorm
    , cmap :
    ColorMap
    , x? : Array[Double], y? : Array[Double], antialiased? : Bool) -> Unit raise
    DataError

    Draw a masked rectangular mesh through the axes view with explicit objects.

    Axes::pcolormesh_with_norm

    fn Axes::pcolormesh_with_norm(self : Axes, data : Array[Array[Double]], norm :
    ColorNorm
    , cmap? : String, x? : Array[Double], y? : Array[Double], antialiased? : Bool) -> Unit raise
    DataError

    Draw a fast scalar mesh through the axes view with explicit normalization.

    Axes::pcolormesh_with_norm_and_colormap

    fn Axes::pcolormesh_with_norm_and_colormap(self : Axes, data : Array[Array[Double]], norm :
    ColorNorm
    , cmap :
    ColorMap
    , x? : Array[Double], y? : Array[Double], antialiased? : Bool) -> Unit raise
    DataError

    Draw a fast scalar mesh through the axes view with explicit normalization.

    Axes::pie

    fn Axes::pie(self : Axes, values : Array[Double], labels? : Array[String], colors? : Array[String], start_angle? : Double) -> Array[Double] raise
    DataError

    Draw a pie chart and return the normalized slice fractions.

    Axes::plot

    fn Axes::plot(self : Axes, xs : Array[Double], ys : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add a line plot through the axes view.

    Axes::plot_category

    fn Axes::plot_category(self : Axes, categories : Array[String], values : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add a line whose x coordinates are string categories.

    Axes::plot_category_y

    fn Axes::plot_category_y(self : Axes, values : Array[Double], categories : Array[String], color? : String, label? : String) -> Unit raise
    DataError

    Add a line whose y coordinates are string categories.

    Axes::plot_date

    fn Axes::plot_date(self : Axes, dates : Array[
    DateTime
    ], values : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Plot date values on the default axes using Matplotlib day ordinals.

    Axes::plot_date_units

    fn Axes::plot_date_units(self : Axes, dates : Array[
    RRuleDateTime
    ], values : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Plot dates while retaining the distinction between naive and aware inputs. Empty ordinary arrays do not choose a registry converter.

    Axes::plot_line

    fn Axes::plot_line(self : Axes, x : LineData, y : LineData, color? : String, label? : String) -> Line2D raise
    DataError

    Attach a typed Line with the existing equal-length initial plot contract.

    Axes::plot_masked

    Plot paired masked arrays through the axes view.

    Axes::quiver

    fn Axes::quiver(self : Axes, xs : Array[Double], ys : Array[Double], us : Array[Double], vs : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Draw arrows for a vector field sampled at paired x/y positions.

    Axes::quiverkey

    fn Axes::quiverkey(self : Axes, x : Double, y : Double, value : Double, label : String, color? : String) -> Unit raise
    DataError

    Draw a vector key arrow and label through the axes view.

    Axes::rect

    Return the allocated display rectangle in pixels, with a top-left origin. This includes manual position updates but does not apply aspect shrinking. The implicit default panel returns None until laid out or positioned.

    Axes::relim

    fn Axes::relim(self : Axes, visible_only? : Bool) -> Unit

    Rebuild cached data limits from the currently attached geometry. This does not request a view update or enable autoscaling. Optionally skip hidden registered Lines before querying their pending data.

    Axes::relim_checked

    fn Axes::relim_checked(self : Axes, visible_only? : Bool) -> Unit raise
    DataError

    Rebuild data limits in artist order, retaining a merged prefix on failure.

    Axes::remove

    fn Axes::remove(self : Axes) -> Unit raise
    DataError

    Remove this panel from its Figure and any containing SubFigure. Other handles to this panel become detached; its artists remain inspectable. Repeated removal raises InvalidReference. figure() retains the source Figure as provenance, and does not imply continued attachment.

    test {
    let fig = @scene.figure()
    let ax = try! fig.add_axes(0.25, 0.25, 0.5, 0.5)
    ax.set_title("removed")
    try! ax.remove()
    assert_true(!fig.to_svg().contains(">removed<"))
    assert_eq(ax.title(), Some("removed"))
    }

    Axes::request_autoscale_view

    fn Axes::request_autoscale_view(self : Axes, axis? : String, tight? : Bool) -> Unit raise
    DataError

    Schedule a lazy view update without enabling an axis or changing its viewport.

    Axes::reset_position

    fn Axes::reset_position(self : Axes) -> Unit raise
    DataError

    Reset active to original, preserving the allocated position. The next active-position read or draw reapplies the aspect constraint. Detached handles raise DataError::InvalidReference.

    test {
    let ax = try! @scene.figure().add_axes(0.25, 0.25, 0.5, 0.5)
    try! ax.set_position(0.0, 0.0, 0.25, 0.25, which="active")
    try! ax.reset_position()
    assert_eq(ax.get_position().unwrap().x(), 0.25)
    }

    Axes::scatter

    fn Axes::scatter(self : Axes, points : Array[
    Point
    ], color? : String, label? : String) -> Unit

    Add scatter points through the axes view.

    Axes::scatter_category

    fn Axes::scatter_category(self : Axes, categories : Array[String], values : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add scatter points whose x coordinates are string categories.

    Axes::scatter_category_y

    fn Axes::scatter_category_y(self : Axes, values : Array[Double], categories : Array[String], color? : String, label? : String) -> Unit raise
    DataError

    Add scatter points whose y coordinates are string categories.

    Axes::scatter_collection

    fn Axes::scatter_collection(self : Axes, points : Array[
    Point
    ], colors? : Array[String], sizes? : Array[Double], label? : String) -> PathCollection raise
    DataError

    Add a per-point marker collection to this axes.

    Axes::scatter_masked

    Scatter paired masked arrays through the axes view.

    Axes::secondary_xaxis

    fn Axes::secondary_xaxis(self : Axes, forward : (Double) -> Double, inverse : (Double) -> Double, location? : SecondaryAxisLocation, transform? :
    Affine2D
    ?) -> SecondaryAxis raise
    DataError

    Add a secondary x axis derived from the primary x coordinate.

    Axes::secondary_yaxis

    fn Axes::secondary_yaxis(self : Axes, forward : (Double) -> Double, inverse : (Double) -> Double, location? : SecondaryAxisLocation, transform? :
    Affine2D
    ?) -> SecondaryAxis raise
    DataError

    Add a secondary y axis derived from the primary y coordinate.

    Axes::semilogx

    fn Axes::semilogx(self : Axes, xs : Array[Double], ys : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add a plot with a logarithmic x coordinate and linear y coordinate.

    Axes::semilogy

    fn Axes::semilogy(self : Axes, xs : Array[Double], ys : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add a plot with a linear x coordinate and logarithmic y coordinate.

    Axes::set_adjustable

    fn Axes::set_adjustable(self : Axes, mode : String, share? : Bool) -> Unit raise
    DataError

    Choose whether fixed aspect shrinks the box or changes data limits. mode is "box" (default) or "datalim". share updates direct x/y shared siblings. datalim may overwrite fixed limits while retaining their direction and automatic/explicit selection. Numeric two-axis sharing is rejected here, before any changes, rather than failing during a later non-throwing draw. clear retains the setting; new axes start with box adjustment.

    test {
    let ax = @scene.figure().axes()
    try! ax.set_adjustable("datalim")
    assert_eq(ax.get_adjustable(), "datalim")
    ax.clear()
    assert_eq(ax.get_adjustable(), "datalim")
    }

    Axes::set_anchor

    fn Axes::set_anchor(self : Axes, anchor : Anchor, share? : Bool) -> Unit raise
    DataError

    Place the aspect-constrained active box within its allocated rectangle. The default is Named("C"). Named compass directions and finite Fraction coordinates are accepted. Invalid anchors raise InvalidReference before updating any panel. share=true updates direct x/y shared siblings. With automatic aspect there is no free space, so the position is unchanged. Clearing artists preserves the anchor, and new axes start at the center.

    test {
    let ax = try! @scene.figure(width=400, height=200).add_axes(
    0.25, 0.25, 0.5, 0.5,
    )
    try! ax.set_xlim(0.0, 1.0)
    try! ax.set_ylim(0.0, 1.0)
    ax.set_aspect_equal()
    try! ax.set_anchor(@scene.Anchor::Named("SW"))
    assert_eq(ax.get_position().unwrap().x(), 0.25)
    try! ax.set_anchor(@scene.Anchor::Fraction(1.0, 0.5))
    assert_eq(ax.get_position().unwrap().x(), 0.5)
    }

    Axes::set_aspect

    fn Axes::set_aspect(self : Axes, value : Double, share? : Bool, anchor? : Anchor, adjustable? : String) -> Unit raise
    DataError

    Set the display size of one y data unit relative to one x data unit. Values must be finite and positive; invalid input raises InvalidReference without changing this panel or its shared siblings. With box adjustment, the allocated box shrinks using the anchor, preserving data limits. Datalim adjustment keeps the box and changes x or y view limits instead. share=true updates the union of the panel's direct x/y shared siblings. Use set_aspect_auto() for automatic aspect, or set_aspect_equal() for 1. An optional anchor is validated and applied along with the ratio. adjustable accepts "box" or "datalim"; omitted settings inherit this panel's strategy and are propagated with share. The default anchor is the center.

    test {
    let fig = @scene.figure(width=400, height=200)
    let ax = try! fig.add_axes(0.25, 0.25, 0.5, 0.5)
    try! ax.set_xlim(0.0, 1.0)
    try! ax.set_ylim(0.0, 1.0)
    try! ax.set_aspect(2.0)
    assert_eq(ax.get_aspect(), Some(2.0))
    assert_eq(ax.get_position().unwrap().width(), 0.125)
    assert_eq(ax.get_position(original=true).unwrap().width(), 0.5)
    }

    Axes::set_aspect_auto

    fn Axes::set_aspect_auto(self : Axes, share? : Bool) -> Unit

    Restore automatic aspect handling for this axes panel. share=true also restores the direct x/y shared siblings.

    Axes::set_aspect_equal

    fn Axes::set_aspect_equal(self : Axes, share? : Bool) -> Unit

    Set an equal data aspect for this axes panel.

    The SVG backend keeps one data unit equally sized on both axes and places the resulting plot rectangle using the panel's anchor. share=true also sets the direct x/y shared siblings to aspect 1.

    Axes::set_autoscale_on

    fn Axes::set_autoscale_on(self : Axes, enabled : Bool) -> Unit

    Axes::set_autoscalex_on

    fn Axes::set_autoscalex_on(self : Axes, enabled : Bool) -> Unit

    Axes::set_autoscaley_on

    fn Axes::set_autoscaley_on(self : Axes, enabled : Bool) -> Unit

    Axes::set_axis_off

    fn Axes::set_axis_off(self : Axes) -> Unit

    Hide the frame, ticks, labels, grid, and secondary axes for this panel.

    Axes::set_axis_on

    fn Axes::set_axis_on(self : Axes) -> Unit

    Show the frame, ticks, labels, grid, and secondary axes for this panel.

    Axes::set_bounds

    Set explicit limits for this panel.

    Axes::set_box_aspect

    fn Axes::set_box_aspect(self : Axes, aspect? : Double) -> Unit raise
    DataError

    Set the panel's physical height/width ratio, independently of data units. Supply aspect=... with a positive finite value, or omit it to clear the box constraint. Setting a value selects datalim adjustment; clearing it retains the current strategy. This does not propagate to ordinary shared siblings. clear retains the box ratio and new axes default to no constraint.

    test {
    let ax = try! @scene.figure(width=400, height=200).add_axes(
    0.0, 0.0, 1.0, 1.0,
    )
    try! ax.set_box_aspect(aspect=1.0)
    assert_eq(ax.get_position().unwrap().width(), 0.5)
    assert_eq(ax.get_adjustable(), "datalim")
    try! ax.set_box_aspect()
    assert_eq(ax.get_position().unwrap().width(), 1.0)
    }

    Axes::set_color_cycle

    fn Axes::set_color_cycle(self : Axes, colors : Array[String]) -> Unit raise
    DataError

    Replace the property color cycle used when a plot omits color.

    Axes::set_legend

    fn Axes::set_legend(self : Axes, entries : Array[LegendEntry]) -> Unit

    Replace this panel's legend entries.

    Axes::set_legend_position

    fn Axes::set_legend_position(self : Axes, position :
    LegendPosition
    ) -> Unit

    Anchor this axes' automatic or explicit legend to a panel corner.

    Axes::set_margins

    fn Axes::set_margins(self : Axes, x : Double, y : Double) -> Unit raise
    DataError

    Set both automatic axis margins.

    Axes::set_position

    fn Axes::set_position(self : Axes, left : Double, bottom : Double, width : Double, height : Double, which? : String) -> Unit raise
    DataError

    Set a normalized Figure rectangle (left, bottom, width, height).

    which accepts both, original, or active. GridSpec membership is retained; subplots_adjust restores grid placement. Manual panels keep their new position through subplots_adjust. Zero sizes and positions outside the Figure are allowed. Invalid values leave the state unchanged. Negative sizes, non-finite coordinates, coordinate overflow, invalid which values, and detached handles raise DataError::InvalidReference. As in Matplotlib, an active-only value is overwritten by original and aspect on the next active-position read or draw.

    test {
    let ax = @scene.figure(width=400, height=200).axes()
    try! ax.set_position(0.25, 0.25, 0.5, 0.5)
    let p = ax.get_position(original=true).unwrap()
    assert_eq((p.x(), p.y(), p.width(), p.height()), (0.25, 0.25, 0.5, 0.5))
    }

    Axes::set_prop_cycle

    fn Axes::set_prop_cycle(self : Axes, colors : Array[String]) -> Unit raise
    DataError

    Matplotlib-style spelling for replacing the property cycle.

    Axes::set_title

    fn Axes::set_title(self : Axes, title : String) -> Unit

    Set this panel's title.

    Axes::set_use_sticky_edges

    fn Axes::set_use_sticky_edges(self : Axes, enabled : Bool) -> Unit

    Axes::set_x_categories

    fn Axes::set_x_categories(self : Axes, labels : Array[String]) -> Unit raise
    DataError

    Configure string categories on the x axis.

    Axes::set_x_date

    fn Axes::set_x_date(self : Axes) -> Unit raise
    DataError

    Set automatic date formatting on all axes sharing this x coordinate.

    Axes::set_x_date_converter

    Install copied converter defaults on every axis sharing this x coordinate.

    Axes::set_x_date_format

    fn Axes::set_x_date_format(self : Axes, format : String) -> Unit raise
    DataError

    Set an explicit date format on all axes sharing this x coordinate.

    Axes::set_x_date_formatter

    Set a copied date formatter on every axes sharing this x coordinate. ConciseDateFormatter::as_formatter supplies batch labels and shared date text.

    Axes::set_x_date_locator

    Configure an explicit calendar locator on all axes sharing this x coordinate.

    Axes::set_x_date_offset

    fn Axes::set_x_date_offset(self : Axes, offset_minutes : Int) -> Unit raise
    DataError

    Set the fixed UTC offset for date tick positions and labels on all shared x axes.

    test {
    let axes = @scene.figure().axes()
    try! axes.set_x_date_offset(345)
    assert_eq(axes.x_date_offset(), 345)
    }

    Axes::set_x_date_timezone

    Set a transition-aware timezone for all shared x axes.

    Axes::set_x_formatter

    fn Axes::set_x_formatter(self : Axes, formatter :
    Formatter
    ) -> Unit

    Set the numeric formatter through this axes handle.

    Axes::set_x_label

    fn Axes::set_x_label(self : Axes, label : String) -> Unit

    Set this panel's x-axis label.

    Axes::set_x_limits

    fn Axes::set_x_limits(self : Axes, lower : Double, upper : Double) -> Unit raise
    DataError

    Set the x-axis limits through this axes handle.

    Axes::set_x_locator

    Set the numeric major locator through this axes handle.

    Axes::set_x_margin

    fn Axes::set_x_margin(self : Axes, value : Double) -> Unit raise
    DataError

    Set the automatic x-axis margin as a fraction of the data span.

    Axes::set_x_minor_date_formatter

    Configure the x minor date formatter on all shared axes.

    Axes::set_x_minor_date_locator

    Configure the x minor date locator on all shared axes.

    Axes::set_x_minor_locator

    Set the minor locator through this axes handle.

    Axes::set_x_minor_named_formatter

    fn Axes::set_x_minor_named_formatter(self : Axes, formatter :
    BaseFormatter
    ) -> Unit

    Axes::set_x_named_formatter

    fn Axes::set_x_named_formatter(self : Axes, formatter :
    BaseFormatter
    ) -> Unit

    Install the same live formatter on the shared x group, owned by this axes.

    Axes::set_x_scale

    Set the x-axis scale on this axes and all axes sharing its x coordinate.

    Axes::set_x_tick_labels

    fn Axes::set_x_tick_labels(self : Axes, labels : Array[String]) -> Unit raise
    DataError

    Set fixed x-axis tick labels through this axes handle.

    Axes::set_x_tick_labels_visible

    fn Axes::set_x_tick_labels_visible(self : Axes, visible : Bool) -> Unit

    Show or hide x tick labels on this panel without changing shared ticks.

    Axes::set_x_tick_position

    fn Axes::set_x_tick_position(self : Axes, position :
    TickPosition
    ) -> Unit

    Set the x-axis tick label side for this panel.

    Axes::set_x_ticks

    fn Axes::set_x_ticks(self : Axes, values : Array[Double]) -> Unit raise
    DataError

    Set fixed x-axis tick positions through this axes handle.

    Axes::set_x_units

    Change units with original shared-axis mutation and callback ordering.

    Axes::set_xlabel

    fn Axes::set_xlabel(self : Axes, label : String) -> Unit

    Axes::set_xlim

    fn Axes::set_xlim(self : Axes, lower : Double, upper : Double, auto? : Bool?) -> Unit raise
    DataError

    Axes::set_xmargin

    fn Axes::set_xmargin(self : Axes, value : Double) -> Unit raise
    DataError

    Matplotlib spelling for setting the automatic x-axis margin.

    Axes::set_xscale

    Matplotlib spelling for setting the x-axis scale.

    Axes::set_xticklabels

    fn Axes::set_xticklabels(self : Axes, labels : Array[String]) -> Unit raise
    DataError

    Axes::set_xticks

    fn Axes::set_xticks(self : Axes, values : Array[Double]) -> Unit raise
    DataError

    Axes::set_y_categories

    fn Axes::set_y_categories(self : Axes, labels : Array[String]) -> Unit raise
    DataError

    Configure string categories on the y axis.

    Axes::set_y_date

    fn Axes::set_y_date(self : Axes) -> Unit raise
    DataError

    Set automatic date formatting on all axes sharing this y coordinate.

    Axes::set_y_date_converter

    Install copied converter defaults on every axis sharing this y coordinate.

    Axes::set_y_date_format

    fn Axes::set_y_date_format(self : Axes, format : String) -> Unit raise
    DataError

    Set an explicit date format on all axes sharing this y coordinate.

    Axes::set_y_date_formatter

    Set a copied date formatter on every axes sharing this y coordinate.

    Axes::set_y_date_locator

    Configure an explicit calendar locator on all axes sharing this y coordinate.

    Axes::set_y_date_offset

    fn Axes::set_y_date_offset(self : Axes, offset_minutes : Int) -> Unit raise
    DataError

    Set the fixed UTC offset for date tick positions and labels on all shared y axes.

    test {
    let axes = @scene.figure().axes()
    try! axes.set_y_date_offset(-210)
    assert_eq(axes.y_date_offset(), -210)
    }

    Axes::set_y_date_timezone

    Set a transition-aware timezone for all shared y axes.

    Axes::set_y_formatter

    fn Axes::set_y_formatter(self : Axes, formatter :
    Formatter
    ) -> Unit

    Set the numeric formatter through this axes handle.

    Axes::set_y_label

    fn Axes::set_y_label(self : Axes, label : String) -> Unit

    Set this panel's y-axis label.

    Axes::set_y_limits

    fn Axes::set_y_limits(self : Axes, lower : Double, upper : Double) -> Unit raise
    DataError

    Set the y-axis limits through this axes handle.

    Axes::set_y_locator

    Set the numeric major locator through this axes handle.

    Axes::set_y_margin

    fn Axes::set_y_margin(self : Axes, value : Double) -> Unit raise
    DataError

    Set the automatic y-axis margin as a fraction of the data span.

    Axes::set_y_minor_date_formatter

    Configure the y minor date formatter on all shared axes.

    Axes::set_y_minor_date_locator

    Configure the y minor date locator on all shared axes.

    Axes::set_y_minor_locator

    Set the minor locator through this axes handle.

    Axes::set_y_minor_named_formatter

    fn Axes::set_y_minor_named_formatter(self : Axes, formatter :
    BaseFormatter
    ) -> Unit

    Axes::set_y_named_formatter

    fn Axes::set_y_named_formatter(self : Axes, formatter :
    BaseFormatter
    ) -> Unit

    Axes::set_y_scale

    Set the y-axis scale on this axes and all axes sharing its y coordinate.

    Axes::set_y_tick_labels

    fn Axes::set_y_tick_labels(self : Axes, labels : Array[String]) -> Unit raise
    DataError

    Set fixed y-axis tick labels through this axes handle.

    Axes::set_y_tick_labels_visible

    fn Axes::set_y_tick_labels_visible(self : Axes, visible : Bool) -> Unit

    Show or hide y tick labels on this panel without changing shared ticks.

    Axes::set_y_tick_position

    fn Axes::set_y_tick_position(self : Axes, position :
    TickPosition
    ) -> Unit

    Set the y-axis tick label side for this panel.

    Axes::set_y_ticks

    fn Axes::set_y_ticks(self : Axes, values : Array[Double]) -> Unit raise
    DataError

    Set fixed y-axis tick positions through this axes handle.

    Axes::set_ylabel

    fn Axes::set_ylabel(self : Axes, label : String) -> Unit

    Axes::set_ylim

    fn Axes::set_ylim(self : Axes, lower : Double, upper : Double, auto? : Bool?) -> Unit raise
    DataError

    Axes::set_ymargin

    fn Axes::set_ymargin(self : Axes, value : Double) -> Unit raise
    DataError

    Matplotlib spelling for setting the automatic y-axis margin.

    Axes::set_yscale

    Matplotlib spelling for setting the y-axis scale.

    Axes::set_yticklabels

    fn Axes::set_yticklabels(self : Axes, labels : Array[String]) -> Unit raise
    DataError

    Axes::set_yticks

    fn Axes::set_yticks(self : Axes, values : Array[Double]) -> Unit raise
    DataError

    Axes::spine

    fn Axes::spine(self : Axes, side : SpineSide) -> Spine

    Return a handle to the selected spine.

    Axes::spines

    fn Axes::spines(self : Axes) -> Array[Spine]

    Return the four spines in left, right, bottom, top order.

    Axes::spy

    fn Axes::spy(self : Axes, data : Array[Array[Double]], precision? : Double, color? : String, label? : String, markersize? : Double, origin? : String, aspect? : String, marker? : String) -> Unit raise
    DataError

    Plot the sparsity pattern of a rectangular scalar matrix.

    Axes::stackplot

    fn Axes::stackplot(self : Axes, xs : Array[Double], ys : Array[Array[Double]], labels? : Array[String], colors? : Array[String], baseline? : String) -> Array[Artist] raise
    DataError

    Draw a stacked area plot through the axes handle.

    Axes::stairs

    fn Axes::stairs(self : Axes, values : Array[Double], edges? : Array[Double], orientation? : String, baseline? : Double, fill? : Bool, color? : String, label? : String) -> Unit raise
    DataError

    Draw a stepwise constant function through the axes view.

    Axes::stem

    fn Axes::stem(self : Axes, heads : Array[Double], locs? : Array[Double], bottom? : Double, orientation? : String, color? : String, label? : String) -> Unit raise
    DataError

    Draw stems through the axes view.

    Axes::step

    fn Axes::step(self : Axes, xs : Array[Double], ys : Array[Double], where_? : String, color? : String, label? : String) -> Unit raise
    DataError

    Add a step plot through the axes view.

    Axes::streamplot

    fn Axes::streamplot(self : Axes, xs : Array[Double], ys : Array[Double], us : Array[Array[Double]], vs : Array[Array[Double]], density? : Double, density_x? : Double, density_y? : Double, color? : String, linewidth? : Double, max_steps? : Int, minlength? : Double, start_points? : Array[
    Point
    ], maxlength? : Double, integration_direction? : String, broken_streamlines? : Bool, integration_max_step_scale? : Double, integration_max_error_scale? : Double, arrows? : Bool, arrow_size? : Double, num_arrows? : Int, arrowstyle? : String, label? : String) -> StreamplotSet raise
    DataError

    Draw streamlines and optionally vary line width and color over the grid.

    Axes::streamplot_mesh

    fn Axes::streamplot_mesh(self : Axes, x_grid : Array[Array[Double]], y_grid : Array[Array[Double]], us : Array[Array[Double]], vs : Array[Array[Double]], density? : Double, density_x? : Double, density_y? : Double, color? : String, linewidth? : Double, max_steps? : Int, minlength? : Double, start_points? : Array[
    Point
    ], maxlength? : Double, integration_direction? : String, broken_streamlines? : Bool, integration_max_step_scale? : Double, integration_max_error_scale? : Double, arrows? : Bool, arrow_size? : Double, num_arrows? : Int, arrowstyle? : String, label? : String) -> StreamplotSet raise
    DataError

    Draw a streamline field from meshgrid-style two-dimensional coordinates.

    Axes::streamplot_with_style_grids

    fn Axes::streamplot_with_style_grids(self : Axes, xs : Array[Double], ys : Array[Double], us : Array[Array[Double]], vs : Array[Array[Double]], linewidths? : Array[Array[Double]], color_values? : Array[Array[Double]], density? : Double, density_x? : Double, density_y? : Double, color? : String, linewidth? : Double, cmap? : String, vmin? : Double, vmax? : Double, max_steps? : Int, minlength? : Double, start_points? : Array[
    Point
    ], maxlength? : Double, integration_direction? : String, broken_streamlines? : Bool, integration_max_step_scale? : Double, integration_max_error_scale? : Double, arrows? : Bool, arrow_size? : Double, num_arrows? : Int, arrowstyle? : String, label? : String) -> StreamplotSet raise
    DataError

    Draw streamlines with optional grid-valued linewidth and color controls.

    Axes::table

    fn Axes::table(self : Axes, cell_text? : Array[Array[String]], cell_colours? : Array[Array[String]], cell_loc? : String, col_widths? : Array[Double], row_labels? : Array[String], row_colours? : Array[String], row_loc? : String, col_labels? : Array[String], col_colours? : Array[String], col_loc? : String, loc? : String, bbox? : Array[Double], edges? : String) -> Table raise
    DataError

    Add a table through the axes view.

    Axes::text

    fn Axes::text(self : Axes, x : Double, y : Double, value : String, color? : String) -> Unit raise
    DataError

    Add text through the axes view.

    Axes::title

    fn Axes::title(self : Axes) -> String?

    Return this panel's optional title.

    Axes::tricontour

    fn Axes::tricontour(self : Axes, xs : Array[Double], ys : Array[Double], triangles : Array[Array[Int]], values : Array[Double], levels? : Array[Double], nlevels? : Int, color? : String, linewidth? : Double, label? : String, mask? : Array[Bool], locator? :
    Locator
    ?, colors? : Array[String], linewidths? : Array[Double]) -> ContourSet raise
    DataError

    Draw contour lines over a validated triangular mesh.

    Axes::tricontour_triangulation

    fn Axes::tricontour_triangulation(self : Axes, mesh : Triangulation, values : Array[Double], levels? : Array[Double], nlevels? : Int, color? : String, linewidth? : Double, label? : String, locator? :
    Locator
    ?, colors? : Array[String], linewidths? : Array[Double]) -> ContourSet raise
    DataError

    Draw contour lines from a validated triangulation.

    Axes::tricontourf

    fn Axes::tricontourf(self : Axes, xs : Array[Double], ys : Array[Double], triangles : Array[Array[Int]], values : Array[Double], levels? : Array[Double], nlevels? : Int, colors? : Array[String], cmap? : String, label? : String, extend_mode? : String, mask? : Array[Bool], locator? :
    Locator
    ?) -> ContourSet raise
    DataError

    Draw filled contour bands over a validated triangular mesh.

    Axes::tricontourf_triangulation

    fn Axes::tricontourf_triangulation(self : Axes, mesh : Triangulation, values : Array[Double], levels? : Array[Double], nlevels? : Int, colors? : Array[String], cmap? : String, label? : String, extend_mode? : String, locator? :
    Locator
    ?) -> ContourSet raise
    DataError

    Draw filled contour bands from a validated triangulation.

    Axes::tripcolor

    fn Axes::tripcolor(self : Axes, xs : Array[Double], ys : Array[Double], triangles : Array[Array[Int]], values : Array[Double], vmin? : Double, vmax? : Double, cmap? : String, label? : String, mask? : Array[Bool]) -> Unit raise
    DataError

    Fill triangle faces using the mean of their vertex scalar values.

    Axes::tripcolor_triangulation

    fn Axes::tripcolor_triangulation(self : Axes, mesh : Triangulation, values : Array[Double], vmin? : Double, vmax? : Double, cmap? : String, label? : String) -> Unit raise
    DataError

    Fill faces from a validated triangulation using vertex or face values.

    Axes::triplot

    fn Axes::triplot(self : Axes, xs : Array[Double], ys : Array[Double], triangles : Array[Array[Int]], color? : String, linewidth? : Double, label? : String, mask? : Array[Bool]) -> Unit raise
    DataError

    Draw triangle edges from vertices and explicit index triples.

    Axes::triplot_triangulation

    fn Axes::triplot_triangulation(self : Axes, mesh : Triangulation, color? : String, linewidth? : Double, label? : String) -> Unit raise
    DataError

    Draw each visible edge of a validated triangulation once.

    Axes::unstale_view

    fn Axes::unstale_view(self : Axes) -> Unit raise
    DataError

    Resolve shared pending requests before computing either coordinate. Requests are consumed before callbacks, so an error does not restore them.

    Axes::update_datalim

    fn Axes::update_datalim(self : Axes, points : Array[
    Point
    ], update_x? : Bool, update_y? : Bool) -> Unit

    Extend cached data limits without requesting or enabling a view update. A paired vertex mask is used after the source's any-finite early test.

    Axes::update_x_category_units

    fn Axes::update_x_category_units(self : Axes, values : Array[String]) -> Bool raise
    DataError

    Axes::update_x_date_units

    Update x units from explicit naive/aware dates without adding an artist.

    Axes::update_y_category_units

    fn Axes::update_y_category_units(self : Axes, values : Array[String]) -> Bool raise
    DataError

    Axes::update_y_date_units

    Axes::use_sticky_edges

    fn Axes::use_sticky_edges(self : Axes) -> Bool

    Axes::violin

    fn Axes::violin(self : Axes, stats : Array[ViolinStats], positions? : Array[Double], width? : Double, widths? : Array[Double], horizontal? : Bool, side? : ViolinSide, showmeans? : Bool, showextrema? : Bool, showmedians? : Bool, color? : String, facecolor? : String, linecolor? : String, label? : String) -> Unit raise
    DataError

    Draw violins from precomputed density statistics on this axes panel.

    Axes::violinplot

    fn Axes::violinplot(self : Axes, data : Array[Array[Double]], positions? : Array[Double], width? : Double, widths? : Array[Double], horizontal? : Bool, side? : ViolinSide, showmeans? : Bool, showextrema? : Bool, showmedians? : Bool, quantiles? : Array[Array[Double]], points? : Int, bandwidth? : ViolinBandwidth, color? : String, facecolor? : String, linecolor? : String, label? : String) -> Array[ViolinStats] raise
    DataError

    Compute and draw Gaussian kernel-density violins from raw data.

    Axes::vlines

    fn Axes::vlines(self : Axes, xs : Array[Double], ymin : Double, ymax : Double, color? : String, label? : String) -> Unit raise
    DataError

    Draw vertical line segments at the supplied x positions.

    Axes::x_axis

    Return this panel's x-axis object.

    Axes::x_date_format

    fn Axes::x_date_format(self : Axes) -> String?

    Return the explicit x-axis date format, if date mode is enabled.

    test {
    let axes = @scene.figure().axes()
    try! axes.set_x_date_format("%Y-%m-%d")
    assert_eq(axes.x_date_format(), Some("%Y-%m-%d"))
    }

    Axes::x_date_offset

    fn Axes::x_date_offset(self : Axes) -> Int

    Return the fixed UTC offset used by this axes' x coordinate.

    test {
    assert_eq(@scene.figure().axes().x_date_offset(), 0)
    }

    Axes::x_date_timezone

    Return the transition-aware timezone used by the shared x axes, if any.

    Axes::x_limits

    Return explicit x limits, or a resolved datalim view after aspect application.

    Axes::x_margin

    fn Axes::x_margin(self : Axes) -> Double

    Return the automatic x-axis margin.

    Axes::x_scale

    Return the current x-axis scale.

    Axes::xaxis_date

    fn Axes::xaxis_date(self : Axes, format? : String) -> Unit raise
    DataError

    Configure automatic date ticks on this axes' x axis.

    Axes::xcorr

    fn Axes::xcorr(self : Axes, first : Array[Double], second : Array[Double], normed? : Bool, usevlines? : Bool, maxlags? : Int, color? : String, label? : String, detrend? : (Array[Double]) -> Array[Double]) -> Correlation raise
    DataError

    Plot and return a normalized cross-correlation sequence.

    The same detrending function is applied independently to both input sequences before correlation.

    Axes::y_axis

    Return this panel's y-axis object.

    Axes::y_date_format

    fn Axes::y_date_format(self : Axes) -> String?

    Return the explicit y-axis date format, if date mode is enabled.

    test {
    let axes = @scene.figure().axes()
    try! axes.set_y_date_format("%H:%M")
    assert_eq(axes.y_date_format(), Some("%H:%M"))
    }

    Axes::y_date_offset

    fn Axes::y_date_offset(self : Axes) -> Int

    Return the fixed UTC offset used by this axes' y coordinate.

    test {
    assert_eq(@scene.figure().axes().y_date_offset(), 0)
    }

    Axes::y_date_timezone

    Return the transition-aware timezone used by the shared y axes, if any.

    Axes::y_limits

    Return explicit y limits, or a resolved datalim view after aspect application.

    Axes::y_margin

    fn Axes::y_margin(self : Axes) -> Double

    Return the automatic y-axis margin.

    Axes::y_scale

    Return the current y-axis scale.

    Axes::yaxis_date

    fn Axes::yaxis_date(self : Axes, format? : String) -> Unit raise
    DataError

    Configure automatic date ticks on this axes' y axis.

    AxesData

    type AxesData

    Mutable state owned by one independent axes panel.

    Container

    pub struct Container {
    kind : ContainerKind
    artists : Array[Artist]
    label : String
    }

    A stable snapshot of the artists produced by one composite plotting call.

    Container::artists

    fn Container::artists(self : Container) -> Array[Artist]

    Return copies of the grouped artists in insertion order.

    Container::kind

    fn Container::kind(self : Container) -> ContainerKind

    Return the container family.

    Container::label

    fn Container::label(self : Container) -> String

    Return the label supplied to the plotting operation.

    ContainerKind

    pub(all) enum ContainerKind {
    Generic
    Bar
    ErrorBar
    Stem
    BoxPlot
    Contour
    Quiver
    Violin
    Pie
    Stackplot
    Streamplot
    }

    The family of artists grouped by a plotting operation.

    ContourSet

    pub struct ContourSet {
    levels : Array[Double]
    filled : Bool
    segments : Array[Array[
    Point
    ]]
    segment_levels : Array[Double]
    extend_mode : String
    corner_mask : Bool
    }

    The result of a contour or filled-contour calculation.

    ContourSet::allsegs

    Return contour paths grouped by their level, like Matplotlib allsegs.

    ContourSet::corner_mask

    fn ContourSet::corner_mask(self : ContourSet) -> Bool

    Return whether masked quadrilateral corners are clipped independently.

    ContourSet::extend_mode

    fn ContourSet::extend_mode(self : ContourSet) -> String

    Return the filled-contour extension mode. This corresponds to Matplotlib's extend property.

    ContourSet::filled

    fn ContourSet::filled(self : ContourSet) -> Bool

    Return whether this set contains filled bands.

    ContourSet::layers

    fn ContourSet::layers(self : ContourSet) -> Array[Double]

    Return the representative layer value for each filled band.

    ContourSet::levels

    fn ContourSet::levels(self : ContourSet) -> Array[Double]

    Return the contour levels in ascending order.

    ContourSet::segment_levels

    fn ContourSet::segment_levels(self : ContourSet) -> Array[Double]

    Return the level associated with each path returned by segments.

    ContourSet::segments

    Return the rendered contour paths, grouped in deterministic artist order.

    Correlation

    pub struct Correlation {
    lags : Array[Double]
    values : Array[Double]
    }

    Lags and values returned by acorr or xcorr.

    Correlation::lags

    fn Correlation::lags(self : Correlation) -> Array[Double]

    Correlation::values

    fn Correlation::values(self : Correlation) -> Array[Double]

    Ecdf

    pub struct Ecdf {
    values : Array[Double]
    probabilities : Array[Double]
    }

    Values and cumulative probabilities returned by ecdf.

    Ecdf::probabilities

    fn Ecdf::probabilities(self : Ecdf) -> Array[Double]

    Ecdf::values

    fn Ecdf::values(self : Ecdf) -> Array[Double]

    Figure

    pub struct Figure {
    width : Int
    height : Int
    margin : Int
    axes : Array[
    Ref
    [AxesData]]
    subfigures : Array[
    Ref
    [SubFigureData]]
    colorbars : Array[
    Colorbar
    ]
    share_group_seed : Int
    title : String?
    // private fields
    }

    A backend-independent figure containing ordered axes panels.

    Figure::acorr

    fn Figure::acorr(self : Figure, values : Array[Double], normed? : Bool, usevlines? : Bool, maxlags? : Int, color? : String, label? : String, detrend? : (Array[Double]) -> Array[Double]) -> Correlation raise
    DataError

    Plot and return a normalized autocorrelation sequence.

    detrend receives an owned copy of the samples and must return an array of the same length. Use detrend_mean for the common mean-removal case.

    Figure::add_axes

    fn Figure::add_axes(self : Figure, left : Double, bottom : Double, width : Double, height : Double) -> Axes raise
    LayoutError

    Add an axes panel at a normalized Figure rectangle.

    The four arguments use Matplotlib's lower-left origin: left and bottom locate the panel, while width and height describe its size. The panel is independent from GridSpec and remains at this position after later subplots_adjust calls. Zero width or height is allowed; negative sizes and non-finite coordinates are rejected without changing the figure. Rectangles may extend beyond the figure.

    test {
    let fig = @scene.figure(width=400, height=300)
    let axes = try! fig.add_axes(0.1, 0.2, 0.5, 0.4)
    let rect = axes.rect().unwrap()
    assert_eq(
    (rect.x(), rect.y(), rect.width(), rect.height()),
    (40.0, 120.0, 200.0, 120.0),
    )
    }

    Figure::add_subfigure

    Add a nested figure region at a GridSpec span.

    Figure::add_subplot

    Add a panel at a GridSpec span. A fresh figure reuses its default panel.

    Figure::annotate

    fn Figure::annotate(self : Figure, value : String, x : Double, y : Double, offset_x? : Double, offset_y? : Double, arrow? : Bool, color? : String, arrowcolor? : String, linewidth? : Double, head_length? : Double, head_width? : Double, fontsize? : Int, xycoords? : String, textcoords? : String, connector? : String) -> Unit raise
    DataError

    Add text at a data point, optionally connected by an arrow.

    offset_x and offset_y place the text relative to (x, y) in data coordinates. When arrow is true, the arrow points from the text to the annotated data point.

    Figure::arrow

    fn Figure::arrow(self : Figure, x : Double, y : Double, dx : Double, dy : Double, color? : String, linewidth? : Double, head_length? : Double, head_width? : Double, label? : String) -> Unit raise
    DataError

    Draw one data-coordinate arrow from (x, y) by (dx, dy).

    Figure::artists

    fn Figure::artists(self : Figure) -> Array[Artist]

    Return artists from the default axes in insertion order.

    Figure::autoscale

    fn Figure::autoscale(self : Figure, enable? : Bool?, axis? : String, tight? : Bool) -> Unit raise
    DataError

    Restore automatic limits for one or both axes.

    Figure::autoscale_view

    fn Figure::autoscale_view(self : Figure, tight? : Bool, scalex? : Bool, scaley? : Bool, axis? : String) -> Unit raise
    DataError

    Figure::axes

    fn Figure::axes(self : Figure) -> Axes

    Return the first/default axes panel for this figure. If all panels have been removed, create a 1-by-1 subplot.

    Figure::axes_list

    fn Figure::axes_list(self : Figure) -> Array[Axes]

    Return handles for all axes panels in creation order.

    Figure::axhline

    fn Figure::axhline(self : Figure, value : Double, color? : String, label? : String) -> Unit raise
    DataError

    Draw a horizontal reference line in data coordinates.

    Figure::axhspan

    fn Figure::axhspan(self : Figure, ymin : Double, ymax : Double, color? : String, label? : String) -> Unit raise
    DataError

    Fill the horizontal span between two y values across the axes.

    Figure::axline

    fn Figure::axline(self : Figure, xy1 :
    Point
    , xy2? :
    Point
    , slope? : Double, color? : String, label? : String) -> Unit raise
    DataError

    Draw an infinitely long line through one or two data points.

    Figure::axvline

    fn Figure::axvline(self : Figure, value : Double, color? : String, label? : String) -> Unit raise
    DataError

    Draw a vertical reference line in data coordinates.

    Figure::axvspan

    fn Figure::axvspan(self : Figure, xmin : Double, xmax : Double, color? : String, label? : String) -> Unit raise
    DataError

    Fill the vertical span between two x values across the axes.

    Figure::bar

    fn Figure::bar(self : Figure, points : Array[
    Point
    ], color? : String, label? : String) -> Unit

    Add bars to the default axes.

    Figure::bar_category

    fn Figure::bar_category(self : Figure, categories : Array[String], values : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add bars whose x coordinates are string categories to the default axes.

    Figure::bar_category_y

    fn Figure::bar_category_y(self : Figure, values : Array[Double], categories : Array[String], color? : String, label? : String) -> Unit raise
    DataError

    Add horizontal bars whose y coordinates are string categories to the default axes.

    Figure::barbs

    fn Figure::barbs(self : Figure, xs : Array[Double], ys : Array[Double], us : Array[Double], vs : Array[Double], color? : String, linewidth? : Double, barb_length? : Double, label? : String) -> Unit raise
    DataError

    Draw basic wind barbs for paired data-coordinate vectors.

    Figure::barbs_with_options

    fn Figure::barbs_with_options(self : Figure, xs : Array[Double], ys : Array[Double], us : Array[Double], vs : Array[Double], color? : String, linewidth? : Double, barb_length? : Double, label? : String, half_increment? : Double, full_increment? : Double, flag_increment? : Double, rounding? : Bool, flip? : Bool, fill_empty? : Bool, pivot? : String) -> Unit raise
    DataError

    Draw wind barbs with magnitude increments, pivot, flip, and calm-barb options. The default increments match Matplotlib's half/full/flag values.

    Figure::barh

    fn Figure::barh(self : Figure, ys : Array[Double], widths : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Figure::boxplot

    fn Figure::boxplot(self : Figure, data : Array[Array[Double]], horizontal? : Bool, color? : String, label? : String) -> Array[
    BoxStats
    ] raise
    DataError

    Draw box-and-whisker plots for one or more value series.

    Figure::broken_barh

    fn Figure::broken_barh(self : Figure, xranges : Array[(Double, Double)], yrange : (Double, Double), color? : String, label? : String) -> Unit raise
    DataError

    Draw horizontal broken bars from (start, width) ranges.

    Figure::clabel

    fn Figure::clabel(self : Figure, contours : ContourSet, inline? : Bool, fontsize? : Int, color? : String) -> Unit raise
    DataError

    Add one text label at a representative segment for each contour level.

    inline removes a small gap from the representative segment before the text is added. fontsize controls the SVG text style.

    Figure::clear

    fn Figure::clear(self : Figure) -> Unit

    Clear all axes, artists, legends, and colorbars while retaining the figure's dimensions and subplot layout.

    Figure::clear_checked

    fn Figure::clear_checked(self : Figure) -> Unit raise
    DataError

    Execute the checked Axes clear lifecycle once per retained panel. The panel-preserving Figure convenience contract remains unchanged.

    Figure::color_cycle

    fn Figure::color_cycle(self : Figure) -> Array[String]

    Return the default axes panel's property color cycle.

    Figure::colorbars

    Return colorbars in insertion order.

    Figure::containers

    fn Figure::containers(self : Figure) -> Array[Container]

    Return composite containers created on the default axes panel.

    Figure::contour

    fn Figure::contour(self : Figure, data : Array[Array[Double]], x? : Array[Double], y? : Array[Double], levels? : Array[Double], nlevels? : Int, color? : String, linewidth? : Double, label? : String, corner_mask? : Bool, locator? :
    Locator
    , colors? : Array[String], linewidths? : Array[Double]) -> ContourSet raise
    DataError

    Draw contour lines over a regular rectangular grid.

    Figure::contourf

    fn Figure::contourf(self : Figure, data : Array[Array[Double]], x? : Array[Double], y? : Array[Double], levels? : Array[Double], nlevels? : Int, colors? : Array[String], cmap? : String, label? : String, extend_mode? : String, corner_mask? : Bool, locator? :
    Locator
    ) -> ContourSet raise
    DataError

    Draw filled contour bands over a regular rectangular grid.

    Figure::delaxes

    fn Figure::delaxes(self : Figure, axes : Axes) -> Unit raise
    DataError

    Remove axes from this Figure, preserving the order of remaining panels. This also removes membership in nested SubFigures. The current selection falls back to the most recently selected surviving panel. Removing the last panel leaves the Figure empty until axes() or gca() is requested. Foreign or detached handles raise InvalidReference before any state changes. Figure-level colorbars are independent and remain registered.

    test {
    let fig = @scene.figure()
    let ax = fig.axes()
    try! fig.delaxes(ax)
    assert_eq(fig.axes_list().length(), 0)
    assert_true(!ax.is_attached())
    assert_true(fig.gca().is_attached())
    }

    Figure::ecdf

    fn Figure::ecdf(self : Figure, values : Array[Double], weights? : Array[Double], complementary? : Bool, horizontal? : Bool, compress? : Bool, color? : String, label? : String) -> Ecdf raise
    DataError

    Plot and return an empirical cumulative distribution function.

    Figure::errorbar

    fn Figure::errorbar(self : Figure, xs : Array[Double], ys : Array[Double], yerr? : Array[Double], xerr? : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add a line with optional symmetric x/y error bars.

    An empty error array disables that direction; otherwise its length must match the x/y sample count.

    Figure::eventplot

    fn Figure::eventplot(self : Figure, positions : Array[Array[Double]], orientation? : String, lineoffsets? : Array[Double], linelengths? : Array[Double], linewidth? : Double, color? : String) -> Unit raise
    DataError

    Draw parallel event markers for one or more sequences of positions.

    Figure::explicit_bounds

    fn Figure::explicit_bounds(self : Figure) ->
    Bounds
    ?

    Return explicit limits from the default axes, if present.

    Figure::fill

    fn Figure::fill(self : Figure, xs : Array[Double], ys : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Fill a closed polygon from paired x/y coordinates.

    Figure::fill_between

    fn Figure::fill_between(self : Figure, xs : Array[Double], lower : Array[Double], upper : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Fill the area between two y series.

    Figure::fill_between_masked

    Fill between masked lower and upper arrays. Any combined mask creates a gap in the filled region.

    Figure::fill_betweenx

    fn Figure::fill_betweenx(self : Figure, ys : Array[Double], left : Array[Double], right? : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Fill the area between two x series sampled at y positions.

    Figure::fill_betweenx_masked

    Fill between masked left and right arrays sampled at y positions.

    Figure::gca

    fn Figure::gca(self : Figure) -> Axes

    Return the most recently selected surviving axes. An empty Figure receives a new 1-by-1 subplot using its current bounds. axes() remains the separate first/default-panel convenience API.

    test {
    let fig = @scene.figure()
    let panels = try! fig.subplots(1, 2)
    panels[1].set_title("last")
    assert_eq(fig.gca().title(), Some("last"))
    try! panels[1].remove()
    panels[0].set_title("remaining")
    assert_eq(fig.gca().title(), Some("remaining"))
    }

    Figure::get_adjustable

    fn Figure::get_adjustable(self : Figure) -> String

    Return the first/default panel's adjustment strategy.

    test {
    assert_eq(@scene.figure().get_adjustable(), "box")
    }

    Figure::get_anchor

    fn Figure::get_anchor(self : Figure) -> Anchor

    Return the first/default panel's anchor, creating a panel if necessary.

    test {
    assert_true(@scene.figure().get_anchor() is @scene.Anchor::Named("C"))
    }

    Figure::get_aspect

    fn Figure::get_aspect(self : Figure) -> Double?

    Return the first/default panel's numeric aspect, or None for auto.

    test {
    let fig = @scene.figure()
    fig.set_aspect_equal()
    assert_eq(fig.get_aspect(), Some(1.0))
    }

    Figure::get_axes

    fn Figure::get_axes(self : Figure) -> Array[Axes]

    Figure::get_box_aspect

    fn Figure::get_box_aspect(self : Figure) -> Double?

    Return the first/default panel's box constraint, creating a panel if needed.

    test {
    assert_true(@scene.figure().get_box_aspect() is None)
    }

    Figure::get_legend_handles_labels

    fn Figure::get_legend_handles_labels(self : Figure) -> Array[LegendEntry]

    Return the effective legend entries for the default axes.

    Figure::grid

    fn Figure::grid(self : Figure, visible? : Bool, which? : String, color? : String, linewidth? : Double, axis? : String) -> Unit raise
    DataError

    Configure major or minor grid lines on the default axes panel.

    Figure::grid_cells

    fn Figure::grid_cells(self : Figure, rows : Int, columns : Int, hspace? : Double, vspace? : Double, width_ratios? : Array[Double], height_ratios? : Array[Double]) -> Array[
    Rect
    ] raise
    LayoutError

    Compute subplot rectangles for a regular grid on this figure.

    Figure::grid_spec

    fn Figure::grid_spec(self : Figure, rows : Int, columns : Int, hspace? : Double, vspace? : Double, width_ratios? : Array[Double], height_ratios? : Array[Double]) ->
    GridSpec
    raise
    LayoutError

    Construct a regular subplot grid using this figure's display dimensions.

    Figure::height

    fn Figure::height(self : Figure) -> Int

    Return the figure height in display units.

    Figure::hexbin

    fn Figure::hexbin(self : Figure, xs : Array[Double], ys : Array[Double], values? : Array[Double], gridsize? : Int, mincnt? : Int, cmap? : String, vmin? : Double, vmax? : Double, color? : String, label? : String, reduce? : String, edgecolor? : String, linewidth? : Double, bins? : String, extent? : Array[Double], marginals? : Bool, reduce_fn? : HexbinReducer) -> Hexbin raise
    DataError

    Bin points into a regular hexagonal grid and add filled polygons.

    Figure::hist

    fn Figure::hist(self : Figure, values : Array[Double], bins? : Int, color? : String, label? : String) -> Histogram raise
    DataError

    Compute a histogram and add its bars to the figure.

    Figure::hist2d

    fn Figure::hist2d(self : Figure, xs : Array[Double], ys : Array[Double], bins_x? : Int, bins_y? : Int, cmap? : String) -> Unit raise
    DataError

    Compute a rectangular two-dimensional histogram and draw it as a mesh.

    Figure::hlines

    fn Figure::hlines(self : Figure, ys : Array[Double], xmin : Double, xmax : Double, color? : String, label? : String) -> Unit raise
    DataError

    Draw horizontal line segments at the supplied y positions.

    Figure::imshow

    fn Figure::imshow(self : Figure, data : Array[Array[Double]], vmin? : Double, vmax? : Double, cmap? : String, origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a two-dimensional scalar image. Non-finite cells use the colormap's bad color (transparent by default). interpolation accepts the Matplotlib filter names "nearest" (the default), "none", "bilinear", "bicubic", "spline16", "spline36", "hanning", "hamming", "hermite", "kaiser", "quadric", "catrom", "gaussian", "bessel", "mitchell", "sinc", "lanczos", "blackman", "auto", and "antialiased", ignoring case. On linear axes, "none" embeds original-resolution pixels, while the filtered modes rasterize to the display size before embedding the PNG. "auto" and "antialiased" choose nearest for integer or large upscales and Hanning otherwise.

    test {
    let fig = @scene.figure()
    fig.imshow([[0.0, 1.0]], interpolation="none")
    assert_true(fig.to_svg().contains("data:image/png;base64,"))
    }

    Figure::imshow_color

    fn Figure::imshow_color(self : Figure, data : Array[Array[
    Rgba
    ]], origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Alias for the typed RGBA entry point.

    Figure::imshow_masked

    fn Figure::imshow_masked(self : Figure, data :
    MaskedMatrix
    , vmin? : Double, vmax? : Double, cmap? : String, origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a masked scalar image. Explicitly masked cells are converted to NaN and therefore follow the colormap's bad-color/transparent-cell policy.

    Figure::imshow_masked_with_colormap

    fn Figure::imshow_masked_with_colormap(self : Figure, data :
    MaskedMatrix
    , cmap :
    ColorMap
    , vmin? : Double, vmax? : Double, origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a masked scalar image using a custom colormap object.

    Figure::imshow_masked_with_norm

    fn Figure::imshow_masked_with_norm(self : Figure, data :
    MaskedMatrix
    , norm :
    ColorNorm
    , cmap? : String, origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a masked scalar image with an explicit normalization.

    Figure::imshow_masked_with_norm_and_colormap

    fn Figure::imshow_masked_with_norm_and_colormap(self : Figure, data :
    MaskedMatrix
    , norm :
    ColorNorm
    , cmap :
    ColorMap
    , origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a masked scalar image with explicit normalization and colormap objects.

    Figure::imshow_rgb

    fn Figure::imshow_rgb(self : Figure, data : Array[Array[
    Rgb
    ]], origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add an opaque RGB image. Alpha is filled with one before it enters the backend-neutral scene model.

    Figure::imshow_rgb_channels

    fn Figure::imshow_rgb_channels(self : Figure, data : Array[Array[Array[Double]]], origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add an RGB image from raw normalized three-channel pixels.

    Figure::imshow_rgba

    fn Figure::imshow_rgba(self : Figure, data : Array[Array[
    Rgba
    ]], origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a prevalidated RGBA image. Pixels are placed with the same extent, origin, aspect, and shared-axis behavior as scalar imshow.

    Figure::imshow_rgba_channels

    fn Figure::imshow_rgba_channels(self : Figure, data : Array[Array[Array[Double]]], origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add an RGBA image from raw normalized four-channel pixels.

    Figure::imshow_with_colormap

    fn Figure::imshow_with_colormap(self : Figure, data : Array[Array[Double]], cmap :
    ColorMap
    , vmin? : Double, vmax? : Double, origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a scalar image using a custom or builtin colormap object.

    Figure::imshow_with_norm

    fn Figure::imshow_with_norm(self : Figure, data : Array[Array[Double]], norm :
    ColorNorm
    , cmap? : String, origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a scalar image with an explicit linear or logarithmic normalization.

    Figure::imshow_with_norm_and_colormap

    fn Figure::imshow_with_norm_and_colormap(self : Figure, data : Array[Array[Double]], norm :
    ColorNorm
    , cmap :
    ColorMap
    , origin? : String, extent? : Array[Double], aspect? : String, alpha? : Double, interpolation? : String) -> Unit raise
    DataError

    Add a scalar image with explicit normalization and colormap objects.

    Figure::legend

    fn Figure::legend(self : Figure, entries : Array[LegendEntry]) -> Unit

    Set legend entries on the default axes.

    Figure::legend_entries

    fn Figure::legend_entries(self : Figure) -> Array[LegendEntry]

    Return the legend entries that would be rendered for the default axes.

    Figure::legend_position

    Return the legend anchor on the default axes.

    Figure::line

    fn Figure::line(self : Figure, points : Array[
    Point
    ], color? : String, label? : String) -> Unit

    Add a line plot from explicit points to the default axes.

    Figure::loglog

    fn Figure::loglog(self : Figure, xs : Array[Double], ys : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add a plot with logarithmic x and y coordinates to the default axes.

    Figure::margin

    fn Figure::margin(self : Figure) -> Int

    Return the plot margin in display units.

    Figure::margins

    fn Figure::margins(self : Figure) -> (Double, Double)

    Return the default axes' automatic margins.

    Figure::matshow

    fn Figure::matshow(self : Figure, data : Array[Array[Double]], vmin? : Double, vmax? : Double, cmap? : String, interpolation? : String) -> Unit raise
    DataError

    Display a two-dimensional matrix on the default axes panel.

    Figure::pcolor

    fn Figure::pcolor(self : Figure, data : Array[Array[Double]], x? : Array[Double], y? : Array[Double], vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw scalar values as filled quadrilaterals on a rectangular grid.

    When supplied, x and y contain cell boundaries and therefore have one more value than the number of columns and rows. Empty coordinates use an integer grid. Source masked or non-finite cells are omitted from the polygon set; values rejected by a normalization use the colormap bad color when one is configured.

    Figure::pcolor_grid

    fn Figure::pcolor_grid(self : Figure, data : Array[Array[Double]], x : Array[Array[Double]], y : Array[Array[Double]], shading? : String, vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw a scalar mesh on a two-dimensional coordinate grid.

    flat expects corner grids with shape (rows + 1, columns + 1); nearest expects center grids with the same shape as data and derives cell edges from neighboring centers. gouraud expects vertex grids with the same shape as data and linearly interpolates vertex colors across each cell. auto selects flat when the corner shape is supplied and nearest otherwise.

    Figure::pcolor_grid_masked

    fn Figure::pcolor_grid_masked(self : Figure, data :
    MaskedMatrix
    , x :
    MaskedMatrix
    , y :
    MaskedMatrix
    , shading? : String, vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw a masked scalar mesh on a two-dimensional coordinate grid.

    The data, X, and Y matrices must be rectangular. A masked data cell is omitted by pcolor_grid_masked; pcolormesh_grid_masked maps it through the colormap's bad color when one is configured. A masked coordinate vertex omits every cell that depends on that vertex.

    Figure::pcolor_masked

    fn Figure::pcolor_masked(self : Figure, data :
    MaskedMatrix
    , x? : Array[Double], y? : Array[Double], vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw a scalar mesh, omitting masked and non-finite cells entirely.

    Figure::pcolor_masked_with_norm_and_colormap

    Draw a masked scalar mesh with an explicit normalization and colormap.

    Figure::pcolor_with_norm

    fn Figure::pcolor_with_norm(self : Figure, data : Array[Array[Double]], norm :
    ColorNorm
    , cmap? : String, x? : Array[Double], y? : Array[Double], antialiased? : Bool) -> Unit raise
    DataError

    Draw a scalar mesh with an explicit normalization and named colormap.

    Figure::pcolor_with_norm_and_colormap

    fn Figure::pcolor_with_norm_and_colormap(self : Figure, data : Array[Array[Double]], norm :
    ColorNorm
    , cmap :
    ColorMap
    , x? : Array[Double], y? : Array[Double], antialiased? : Bool) -> Unit raise
    DataError

    Draw a scalar mesh using an explicit normalization and colormap object.

    Figure::pcolormesh

    fn Figure::pcolormesh(self : Figure, data : Array[Array[Double]], x? : Array[Double], y? : Array[Double], vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw a rectangular scalar mesh with 1D cell boundaries. Masked or non-finite cells use the colormap's bad color, which is transparent by default.

    Figure::pcolormesh_grid

    fn Figure::pcolormesh_grid(self : Figure, data : Array[Array[Double]], x : Array[Array[Double]], y : Array[Array[Double]], shading? : String, vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw a fast scalar mesh on a two-dimensional coordinate grid.

    Figure::pcolormesh_grid_masked

    fn Figure::pcolormesh_grid_masked(self : Figure, data :
    MaskedMatrix
    , x :
    MaskedMatrix
    , y :
    MaskedMatrix
    , shading? : String, vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw a fast masked scalar mesh on a two-dimensional coordinate grid.

    Figure::pcolormesh_masked

    fn Figure::pcolormesh_masked(self : Figure, data :
    MaskedMatrix
    , x? : Array[Double], y? : Array[Double], vmin? : Double, vmax? : Double, cmap? : String, antialiased? : Bool) -> Unit raise
    DataError

    Draw a masked rectangular scalar mesh.

    Figure::pcolormesh_masked_with_norm_and_colormap

    fn Figure::pcolormesh_masked_with_norm_and_colormap(self : Figure, data :
    MaskedMatrix
    , norm :
    ColorNorm
    , cmap :
    ColorMap
    , x? : Array[Double], y? : Array[Double], antialiased? : Bool) -> Unit raise
    DataError

    Draw a masked rectangular mesh with explicit normalization and colormap.

    Figure::pcolormesh_with_norm

    fn Figure::pcolormesh_with_norm(self : Figure, data : Array[Array[Double]], norm :
    ColorNorm
    , cmap? : String, x? : Array[Double], y? : Array[Double], antialiased? : Bool) -> Unit raise
    DataError

    Draw a fast scalar mesh with an explicit normalization and named colormap.

    Figure::pcolormesh_with_norm_and_colormap

    fn Figure::pcolormesh_with_norm_and_colormap(self : Figure, data : Array[Array[Double]], norm :
    ColorNorm
    , cmap :
    ColorMap
    , x? : Array[Double], y? : Array[Double], antialiased? : Bool) -> Unit raise
    DataError

    Draw a fast scalar mesh using an explicit normalization and colormap.

    Figure::pie

    fn Figure::pie(self : Figure, values : Array[Double], labels? : Array[String], colors? : Array[String], start_angle? : Double) -> Array[Double] raise
    DataError

    Draw a pie chart and return the normalized slice fractions.

    Figure::plot

    fn Figure::plot(self : Figure, xs : Array[Double], ys : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add a line plot from paired x/y samples.

    Figure::plot_category

    fn Figure::plot_category(self : Figure, categories : Array[String], values : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add a line whose x coordinates are string categories to the default axes.

    Figure::plot_category_y

    fn Figure::plot_category_y(self : Figure, values : Array[Double], categories : Array[String], color? : String, label? : String) -> Unit raise
    DataError

    Add a line whose y coordinates are string categories to the default axes.

    Figure::plot_date

    fn Figure::plot_date(self : Figure, dates : Array[
    DateTime
    ], values : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Plot date values on the default axes.

    Figure::plot_date_units

    fn Figure::plot_date_units(self : Figure, dates : Array[
    RRuleDateTime
    ], values : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Figure::plot_line

    fn Figure::plot_line(self : Figure, x : LineData, y : LineData, color? : String, label? : String) -> Line2D raise
    DataError

    Figure::plot_masked

    Plot paired masked arrays. The combined mask creates gaps in the line.

    Figure::quiver

    fn Figure::quiver(self : Figure, xs : Array[Double], ys : Array[Double], us : Array[Double], vs : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Draw arrows for a vector field sampled at paired x/y positions.

    Figure::quiverkey

    fn Figure::quiverkey(self : Figure, x : Double, y : Double, value : Double, label : String, color? : String) -> Unit raise
    DataError

    Draw a vector key arrow and label in data coordinates.

    Figure::sca

    Select axes in this Figure, returning the selected handle. Foreign or detached handles raise InvalidReference without changing state. Selection does not change creation or SVG drawing order.

    test {
    let fig = @scene.figure()
    let panels = try! fig.subplots(1, 2)
    panels[0].set_title("first")
    ignore(try! fig.sca(panels[0]))
    assert_eq(fig.gca().title(), Some("first"))
    assert_eq(fig.axes_list().length(), 2)
    }

    Figure::scatter

    fn Figure::scatter(self : Figure, points : Array[
    Point
    ], color? : String, label? : String) -> Unit

    Add a scatter plot to the default axes.

    Figure::scatter_category

    fn Figure::scatter_category(self : Figure, categories : Array[String], values : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add scatter points whose x coordinates are string categories to the default axes.

    Figure::scatter_category_y

    fn Figure::scatter_category_y(self : Figure, values : Array[Double], categories : Array[String], color? : String, label? : String) -> Unit raise
    DataError

    Add scatter points whose y coordinates are string categories to the default axes.

    Figure::scatter_collection

    fn Figure::scatter_collection(self : Figure, points : Array[
    Point
    ], colors? : Array[String], sizes? : Array[Double], label? : String) -> PathCollection raise
    DataError

    Add a per-point marker collection to the default axes.

    Figure::scatter_masked

    Scatter paired masked arrays. Any mask in either input suppresses the point.

    Figure::secondary_xaxis

    fn Figure::secondary_xaxis(self : Figure, forward : (Double) -> Double, inverse : (Double) -> Double, location? : SecondaryAxisLocation, transform? :
    Affine2D
    ?) -> SecondaryAxis raise
    DataError

    Add a secondary x axis to the default axes panel.

    Figure::secondary_yaxis

    fn Figure::secondary_yaxis(self : Figure, forward : (Double) -> Double, inverse : (Double) -> Double, location? : SecondaryAxisLocation, transform? :
    Affine2D
    ?) -> SecondaryAxis raise
    DataError

    Add a secondary y axis to the default axes panel.

    Figure::semilogx

    fn Figure::semilogx(self : Figure, xs : Array[Double], ys : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add a plot with a logarithmic x coordinate to the default axes.

    Figure::semilogy

    fn Figure::semilogy(self : Figure, xs : Array[Double], ys : Array[Double], color? : String, label? : String) -> Unit raise
    DataError

    Add a plot with a logarithmic y coordinate to the default axes.

    Figure::set_adjustable

    fn Figure::set_adjustable(self : Figure, mode : String, share? : Bool) -> Unit raise
    DataError

    Set the first/default panel's adjustment strategy, preserving gca selection.

    test {
    let fig = @scene.figure()
    try! fig.set_adjustable("datalim")
    assert_eq(fig.axes().get_adjustable(), "datalim")
    }

    Figure::set_anchor

    fn Figure::set_anchor(self : Figure, anchor : Anchor, share? : Bool) -> Unit raise
    DataError

    Set the first/default panel's anchor while preserving the current selection. Invalid anchors are rejected before creating a panel in an empty Figure.

    test {
    let fig = @scene.figure()
    try! fig.set_anchor(@scene.Anchor::Named("NE"))
    assert_true(fig.axes().get_anchor() is @scene.Anchor::Named("NE"))
    }

    Figure::set_aspect

    fn Figure::set_aspect(self : Figure, value : Double, share? : Bool, anchor? : Anchor, adjustable? : String) -> Unit raise
    DataError

    Set numeric aspect on the first/default panel, preserving gca selection.

    test {
    let fig = @scene.figure()
    try! fig.set_aspect(0.5)
    assert_eq(fig.axes().get_aspect(), Some(0.5))
    }

    Figure::set_aspect_auto

    fn Figure::set_aspect_auto(self : Figure) -> Unit

    Restore automatic aspect handling on the default axes panel.

    Figure::set_aspect_equal

    fn Figure::set_aspect_equal(self : Figure) -> Unit

    Set equal data scaling on the default axes panel.

    Figure::set_axis_off

    fn Figure::set_axis_off(self : Figure) -> Unit

    Hide axis decorations on the default axes panel while retaining artists.

    Figure::set_axis_on

    fn Figure::set_axis_on(self : Figure) -> Unit

    Show axis decorations on the default axes panel.

    Figure::set_bounds

    Set explicit data limits for the default axes.

    Figure::set_box_aspect

    fn Figure::set_box_aspect(self : Figure, aspect? : Double) -> Unit raise
    DataError

    Set or clear the first/default panel's physical box constraint. Invalid input is rejected before creating a panel in an empty Figure.

    test {
    let fig = @scene.figure()
    try! fig.set_box_aspect(aspect=0.5)
    assert_eq(fig.axes().get_box_aspect(), Some(0.5))
    }

    Figure::set_color_cycle

    fn Figure::set_color_cycle(self : Figure, colors : Array[String]) -> Unit raise
    DataError

    Replace the property color cycle on the default axes panel.

    Figure::set_legend

    fn Figure::set_legend(self : Figure, entries : Array[LegendEntry]) -> Unit

    Set legend entries on the default axes.

    Figure::set_legend_position

    fn Figure::set_legend_position(self : Figure, position :
    LegendPosition
    ) -> Unit

    Set the legend anchor on the default axes.

    Figure::set_margins

    fn Figure::set_margins(self : Figure, x : Double, y : Double) -> Unit raise
    DataError

    Set both automatic margins on the default axes.

    Figure::set_prop_cycle

    fn Figure::set_prop_cycle(self : Figure, colors : Array[String]) -> Unit raise
    DataError

    Matplotlib-style spelling for replacing the property cycle.

    Figure::set_title

    fn Figure::set_title(self : Figure, title : String) -> Unit

    Set the figure title.

    Figure::set_x_categories

    fn Figure::set_x_categories(self : Figure, labels : Array[String]) -> Unit raise
    DataError

    Configure string categories on the default x axis.

    Figure::set_x_date_converter

    Figure::set_x_date_formatter

    Set a date formatter on the default x axis, including shared axes.

    Figure::set_x_date_locator

    Configure an explicit calendar locator on the default axes' x coordinate.

    Figure::set_x_date_offset

    fn Figure::set_x_date_offset(self : Figure, offset_minutes : Int) -> Unit raise
    DataError

    Set the fixed UTC offset for date tick positions and labels on the default x axis.

    test {
    let figure = @scene.figure()
    try! figure.set_x_date_offset(120)
    assert_eq(figure.x_axis().date_offset_minutes(), 120)
    }

    Figure::set_x_date_timezone

    Set a transition-aware timezone for the default x axis.

    Figure::set_x_formatter

    fn Figure::set_x_formatter(self : Figure, formatter :
    Formatter
    ) -> Unit

    Set the numeric formatter on the default x axis.

    Figure::set_x_label

    fn Figure::set_x_label(self : Figure, label : String) -> Unit

    Set the x-axis label on the default axes.

    Figure::set_x_limits

    fn Figure::set_x_limits(self : Figure, lower : Double, upper : Double) -> Unit raise
    DataError

    Set x-axis limits on the default axes, preserving their direction.

    Figure::set_x_locator

    Set the numeric major locator on the default x axis.

    Figure::set_x_margin

    fn Figure::set_x_margin(self : Figure, value : Double) -> Unit raise
    DataError

    Set the automatic x-axis margin on the default axes.

    Figure::set_x_minor_date_formatter

    Configure the default x minor date formatter.

    Figure::set_x_minor_date_locator

    Configure the default x minor date locator.

    Figure::set_x_minor_locator

    Set the minor locator on the default x axis.

    Figure::set_x_minor_named_formatter

    fn Figure::set_x_minor_named_formatter(self : Figure, formatter :
    BaseFormatter
    ) -> Unit

    Figure::set_x_named_formatter

    fn Figure::set_x_named_formatter(self : Figure, formatter :
    BaseFormatter
    ) -> Unit

    Figure::set_x_scale

    Set the x-axis scale on the default axes.

    Figure::set_x_tick_labels

    fn Figure::set_x_tick_labels(self : Figure, labels : Array[String]) -> Unit raise
    DataError

    Set fixed x-axis tick labels on the default axes.

    Figure::set_x_tick_position

    fn Figure::set_x_tick_position(self : Figure, position :
    TickPosition
    ) -> Unit

    Set the x-axis tick label side on the default axes panel.

    Figure::set_x_ticks

    fn Figure::set_x_ticks(self : Figure, values : Array[Double]) -> Unit raise
    DataError

    Set fixed x-axis tick positions on the default axes.

    Figure::set_xlabel

    fn Figure::set_xlabel(self : Figure, label : String) -> Unit

    Figure::set_xlim

    fn Figure::set_xlim(self : Figure, lower : Double, upper : Double, auto? : Bool?) -> Unit raise
    DataError

    Figure::set_xmargin

    fn Figure::set_xmargin(self : Figure, value : Double) -> Unit raise
    DataError

    Matplotlib spelling for setting the automatic x-axis margin.

    Figure::set_xscale

    Matplotlib spelling for setting the x-axis scale.

    Figure::set_xticklabels

    fn Figure::set_xticklabels(self : Figure, labels : Array[String]) -> Unit raise
    DataError

    Figure::set_xticks

    fn Figure::set_xticks(self : Figure, values : Array[Double]) -> Unit raise
    DataError

    Figure::set_y_categories

    fn Figure::set_y_categories(self : Figure, labels : Array[String]) -> Unit raise
    DataError

    Configure string categories on the default y axis.

    Figure::set_y_date_converter

    Figure::set_y_date_formatter

    Set a date formatter on the default y axis, including shared axes.

    Figure::set_y_date_locator

    Configure an explicit calendar locator on the default axes' y coordinate.

    Figure::set_y_date_offset

    fn Figure::set_y_date_offset(self : Figure, offset_minutes : Int) -> Unit raise
    DataError

    Set the fixed UTC offset for date tick positions and labels on the default y axis.

    test {
    let figure = @scene.figure()
    try! figure.set_y_date_offset(-480)
    assert_eq(figure.y_axis().date_offset_minutes(), -480)
    }

    Figure::set_y_date_timezone

    Set a transition-aware timezone for the default y axis.

    Figure::set_y_formatter

    fn Figure::set_y_formatter(self : Figure, formatter :
    Formatter
    ) -> Unit

    Set the numeric formatter on the default y axis.

    Figure::set_y_label

    fn Figure::set_y_label(self : Figure, label : String) -> Unit

    Set the y-axis label on the default axes.

    Figure::set_y_limits

    fn Figure::set_y_limits(self : Figure, lower : Double, upper : Double) -> Unit raise
    DataError

    Set y-axis limits on the default axes, preserving their direction.

    Figure::set_y_locator

    Set the numeric major locator on the default y axis.

    Figure::set_y_margin

    fn Figure::set_y_margin(self : Figure, value : Double) -> Unit raise
    DataError

    Set the automatic y-axis margin on the default axes.

    Figure::set_y_minor_date_formatter

    Configure the default y minor date formatter.

    Figure::set_y_minor_date_locator

    Configure the default y minor date locator.

    Figure::set_y_minor_locator

    Set the minor locator on the default y axis.

    Figure::set_y_minor_named_formatter

    fn Figure::set_y_minor_named_formatter(self : Figure, formatter :
    BaseFormatter
    ) -> Unit

    Figure::set_y_named_formatter

    fn Figure::set_y_named_formatter(self : Figure, formatter :
    BaseFormatter
    ) -> Unit

    Figure::set_y_scale

    Set the y-axis scale on the default axes.

    Figure::set_y_tick_labels

    fn Figure::set_y_tick_labels(self : Figure, labels : Array[String]) -> Unit raise
    DataError

    Set fixed y-axis tick labels on the default axes.

    Figure::set_y_tick_position

    fn Figure::set_y_tick_position(self : Figure, position :
    TickPosition
    ) -> Unit

    Set the y-axis tick label side on the default axes panel.

    Figure::set_y_ticks

    fn Figure::set_y_ticks(self : Figure, values : Array[Double]) -> Unit raise
    DataError

    Set fixed y-axis tick positions on the default axes.

    Figure::set_ylabel

    fn Figure::set_ylabel(self : Figure, label : String) -> Unit

    Figure::set_ylim

    fn Figure::set_ylim(self : Figure, lower : Double, upper : Double, auto? : Bool?) -> Unit raise
    DataError

    Figure::set_ymargin

    fn Figure::set_ymargin(self : Figure, value : Double) -> Unit raise
    DataError

    Matplotlib spelling for setting the automatic y-axis margin.

    Figure::set_yscale

    Matplotlib spelling for setting the y-axis scale.

    Figure::set_yticklabels

    fn Figure::set_yticklabels(self : Figure, labels : Array[String]) -> Unit raise
    DataError

    Figure::set_yticks

    fn Figure::set_yticks(self : Figure, values : Array[Double]) -> Unit raise
    DataError

    Figure::spine

    fn Figure::spine(self : Figure, side : SpineSide) -> Spine

    Return a selected spine on the default axes panel.

    Figure::spines

    fn Figure::spines(self : Figure) -> Array[Spine]

    Return the default axes panel's four spines.

    Figure::spy

    fn Figure::spy(self : Figure, data : Array[Array[Double]], precision? : Double, color? : String, label? : String, markersize? : Double, origin? : String, aspect? : String, marker? : String) -> Unit raise
    DataError

    Plot the sparsity pattern of a rectangular scalar matrix.

    Figure::stackplot

    fn Figure::stackplot(self : Figure, xs : Array[Double], ys : Array[Array[Double]], labels? : Array[String], colors? : Array[String], baseline? : String) -> Array[Artist] raise
    DataError

    Draw a stacked area plot and return one filled artist per input series.

    baseline accepts "zero", "sym", "wiggle", or "weighted_wiggle". Colors cycle when fewer colors than series are given; an empty color array uses the axes property cycle.

    test {
    let fig = @scene.figure()
    let artists = try! fig.stackplot(
    [0.0, 1.0, 2.0],
    [[1.0, 2.0, 1.0], [2.0, 1.0, 2.0]],
    colors=["#123456", "#abcdef"],
    )
    assert_eq(artists.length(), 2)
    assert_eq(fig.artists().length(), 2)
    }

    Figure::stairs

    fn Figure::stairs(self : Figure, values : Array[Double], edges? : Array[Double], orientation? : String, baseline? : Double, fill? : Bool, color? : String, label? : String) -> Unit raise
    DataError

    Draw a stepwise constant function from values and bin edges.

    Figure::stem

    fn Figure::stem(self : Figure, heads : Array[Double], locs? : Array[Double], bottom? : Double, orientation? : String, color? : String, label? : String) -> Unit raise
    DataError

    Draw stems from a baseline to each scalar head.

    Figure::step

    fn Figure::step(self : Figure, xs : Array[Double], ys : Array[Double], where_? : String, color? : String, label? : String) -> Unit raise
    DataError

    Add a step plot with pre, post, or mid transition semantics.

    Figure::streamplot

    fn Figure::streamplot(self : Figure, xs : Array[Double], ys : Array[Double], us : Array[Array[Double]], vs : Array[Array[Double]], density? : Double, density_x? : Double, density_y? : Double, color? : String, linewidth? : Double, max_steps? : Int, minlength? : Double, start_points? : Array[
    Point
    ], maxlength? : Double, integration_direction? : String, broken_streamlines? : Bool, integration_max_step_scale? : Double, integration_max_error_scale? : Double, arrows? : Bool, arrow_size? : Double, num_arrows? : Int, arrowstyle? : String, label? : String) -> StreamplotSet raise
    DataError

    Draw streamlines for a regular vector field on 1D x/y grids.

    Figure::streamplot_mesh

    fn Figure::streamplot_mesh(self : Figure, x_grid : Array[Array[Double]], y_grid : Array[Array[Double]], us : Array[Array[Double]], vs : Array[Array[Double]], density? : Double, density_x? : Double, density_y? : Double, color? : String, linewidth? : Double, max_steps? : Int, minlength? : Double, start_points? : Array[
    Point
    ], maxlength? : Double, integration_direction? : String, broken_streamlines? : Bool, integration_max_step_scale? : Double, integration_max_error_scale? : Double, arrows? : Bool, arrow_size? : Double, num_arrows? : Int, arrowstyle? : String, label? : String) -> StreamplotSet raise
    DataError

    Draw a streamline field from meshgrid-style two-dimensional coordinates.

    Figure::streamplot_with_style_grids

    fn Figure::streamplot_with_style_grids(self : Figure, xs : Array[Double], ys : Array[Double], us : Array[Array[Double]], vs : Array[Array[Double]], linewidths? : Array[Array[Double]], color_values? : Array[Array[Double]], density? : Double, density_x? : Double, density_y? : Double, color? : String, linewidth? : Double, cmap? : String, vmin? : Double, vmax? : Double, max_steps? : Int, minlength? : Double, start_points? : Array[
    Point
    ], maxlength? : Double, integration_direction? : String, broken_streamlines? : Bool, integration_max_step_scale? : Double, integration_max_error_scale? : Double, arrows? : Bool, arrow_size? : Double, num_arrows? : Int, arrowstyle? : String, label? : String) -> StreamplotSet raise
    DataError

    Draw streamlines and optionally vary line width and color over the grid.

    Empty style grids use the scalar color and linewidth values. Color values are mapped through cmap after linear normalization.

    Figure::subfigures

    fn Figure::subfigures(self : Figure) -> Array[SubFigure]

    Return all nested figure regions registered on this Figure.

    Figure::subplot_bounds

    fn Figure::subplot_bounds(self : Figure) -> (Double, Double, Double, Double)

    Return the current normalized bounds as (left, bottom, right, top). Initial bounds correspond to the figure's 56-pixel margin on each side.

    Figure::subplots

    fn Figure::subplots(self : Figure, rows : Int, columns : Int, hspace? : Double, vspace? : Double, share_x? : Bool, share_y? : Bool, width_ratios? : Array[Double], height_ratios? : Array[Double]) -> Array[Axes] raise
    LayoutError

    Create axes panels arranged in row-major order.

    The boolean sharing arguments preserve the original convenience API and correspond to the All or None GridSpec modes. Use subplots_with_grid for row- or column-level sharing.

    Figure::subplots_adjust

    fn Figure::subplots_adjust(self : Figure, left? : Double, bottom? : Double, right? : Double, top? : Double, wspace? : Double, hspace? : Double) -> Unit raise
    LayoutError

    Adjust subplot bounds and spacing, including already-created nested axes.

    Bounds are fractions of the figure width/height, measured from the bottom left. wspace controls horizontal gaps and hspace vertical gaps, as fractions of the average panel size. Existing grid constructors retain their horizontal hspace / vertical vspace names. Explicit grid spacing takes precedence over figure spacing. Unspecified values are preserved.

    Bounds must be finite with left < right and bottom < top; they may extend beyond the figure. Spacing must be finite and nonnegative. Invalid calls leave the existing layout untouched. Initial spacing remains 0.1.

    test {
    let fig = @scene.figure(width=400, height=300)
    let axes = try! fig.subplots(1, 2)
    try! fig.subplots_adjust(
    left=0.25,
    bottom=0.25,
    right=0.75,
    top=0.75,
    wspace=0.5,
    )
    assert_eq(fig.subplot_bounds(), (0.25, 0.25, 0.75, 0.75))
    match axes[0].rect() {
    Some(rect) => assert_eq(rect.width(), 80.0)
    None => fail("expected a subplot rectangle")
    }
    }

    Figure::subplots_with_grid

    Create axes sequentially, retaining each coordinate's construction target.

    Figure::suptitle

    fn Figure::suptitle(self : Figure, title : String) -> Unit

    Figure::table

    fn Figure::table(self : Figure, cell_text? : Array[Array[String]], cell_colours? : Array[Array[String]], cell_loc? : String, col_widths? : Array[Double], row_labels? : Array[String], row_colours? : Array[String], row_loc? : String, col_labels? : Array[String], col_colours? : Array[String], col_loc? : String, loc? : String, bbox? : Array[Double], edges? : String) -> Table raise
    DataError

    Add a table to the figure's default axes.

    Figure::text

    fn Figure::text(self : Figure, x : Double, y : Double, value : String, color? : String) -> Unit raise
    DataError

    Add text at a data coordinate.

    Figure::title

    fn Figure::title(self : Figure) -> String?

    Return the optional figure title.

    Figure::to_drawing

    Render once and capture in-panel Line/scatter datum anchors for interaction. Point indices refer to the unfiltered source order, before Line step expansion. Anchors do not describe marker pixel coverage; hit tolerance is caller-chosen.

    Figure::to_svg

    fn Figure::to_svg(self : Figure) -> String

    Render a figure with the default SVG backend.

    Figure::to_svg_checked

    fn Figure::to_svg_checked(self : Figure) -> String raise
    DataError

    Render SVG, reporting aspect-resolution failures through DataError. Datalim views are resolved for all panels before any are committed. The non-throwing to_svg() convenience aborts if this checked call fails.

    test {
    let fig = @scene.figure(width=400, height=200)
    let ax = try! fig.add_axes(0.0, 0.0, 1.0, 1.0)
    try! ax.plot([0.0, 1.0], [0.0, 1.0])
    try! ax.set_xlim(0.0, 1.0)
    try! ax.set_ylim(0.0, 1.0)
    try! ax.set_aspect(1.0, adjustable="datalim")
    let svg = try! fig.to_svg_checked()
    assert_true(svg.contains("points=\"100,200 300,0\""))
    }

    Figure::tricontour

    fn Figure::tricontour(self : Figure, xs : Array[Double], ys : Array[Double], triangles : Array[Array[Int]], values : Array[Double], levels? : Array[Double], nlevels? : Int, color? : String, linewidth? : Double, label? : String, mask? : Array[Bool], locator? :
    Locator
    , colors? : Array[String], linewidths? : Array[Double]) -> ContourSet raise
    DataError

    Draw contour lines over a validated triangular mesh.

    Figure::tricontour_triangulation

    fn Figure::tricontour_triangulation(self : Figure, mesh : Triangulation, values : Array[Double], levels? : Array[Double], nlevels? : Int, color? : String, linewidth? : Double, label? : String, locator? :
    Locator
    , colors? : Array[String], linewidths? : Array[Double]) -> ContourSet raise
    DataError

    Draw contour lines from a validated triangulation.

    Figure::tricontourf

    fn Figure::tricontourf(self : Figure, xs : Array[Double], ys : Array[Double], triangles : Array[Array[Int]], values : Array[Double], levels? : Array[Double], nlevels? : Int, colors? : Array[String], cmap? : String, label? : String, extend_mode? : String, mask? : Array[Bool], locator? :
    Locator
    ) -> ContourSet raise
    DataError

    Draw filled contour bands over a validated triangular mesh.

    Figure::tricontourf_triangulation

    fn Figure::tricontourf_triangulation(self : Figure, mesh : Triangulation, values : Array[Double], levels? : Array[Double], nlevels? : Int, colors? : Array[String], cmap? : String, label? : String, extend_mode? : String, locator? :
    Locator
    ) -> ContourSet raise
    DataError

    Draw filled contour bands from a validated triangulation.

    Figure::tripcolor

    fn Figure::tripcolor(self : Figure, xs : Array[Double], ys : Array[Double], triangles : Array[Array[Int]], values : Array[Double], vmin? : Double, vmax? : Double, cmap? : String, label? : String, mask? : Array[Bool]) -> Unit raise
    DataError

    Fill triangle faces using vertex means or one scalar per face.

    Figure::tripcolor_triangulation

    fn Figure::tripcolor_triangulation(self : Figure, mesh : Triangulation, values : Array[Double], vmin? : Double, vmax? : Double, cmap? : String, label? : String) -> Unit raise
    DataError

    Fill faces from a validated triangulation using vertex or face values.

    Figure::triplot

    fn Figure::triplot(self : Figure, xs : Array[Double], ys : Array[Double], triangles : Array[Array[Int]], color? : String, linewidth? : Double, label? : String, mask? : Array[Bool]) -> Unit raise
    DataError

    Draw triangle edges from vertices and explicit index triples.

    Use triangulation and triplot_triangulation when the faces should be generated automatically and reused.

    Figure::triplot_triangulation

    fn Figure::triplot_triangulation(self : Figure, mesh : Triangulation, color? : String, linewidth? : Double, label? : String) -> Unit raise
    DataError

    Draw each visible edge of a validated triangulation once.

    Figure::violin

    fn Figure::violin(self : Figure, stats : Array[ViolinStats], positions? : Array[Double], width? : Double, widths? : Array[Double], horizontal? : Bool, side? : ViolinSide, showmeans? : Bool, showextrema? : Bool, showmedians? : Bool, color? : String, facecolor? : String, linecolor? : String, label? : String) -> Unit raise
    DataError

    Draw violins from precomputed density statistics.

    Figure::violinplot

    fn Figure::violinplot(self : Figure, data : Array[Array[Double]], positions? : Array[Double], width? : Double, widths? : Array[Double], horizontal? : Bool, side? : ViolinSide, showmeans? : Bool, showextrema? : Bool, showmedians? : Bool, quantiles? : Array[Array[Double]], points? : Int, bandwidth? : ViolinBandwidth, color? : String, facecolor? : String, linecolor? : String, label? : String) -> Array[ViolinStats] raise
    DataError

    Compute and draw Gaussian kernel-density violins from raw data.

    Figure::vlines

    fn Figure::vlines(self : Figure, xs : Array[Double], ymin : Double, ymax : Double, color? : String, label? : String) -> Unit raise
    DataError

    Draw vertical line segments at the supplied x positions.

    Figure::width

    fn Figure::width(self : Figure) -> Int

    Return the figure width in display units.

    Figure::x_axis

    Return the x-axis object from the default axes.

    Figure::x_date_timezone

    Return the transition-aware timezone used by the default x axis, if any.

    Figure::x_label

    fn Figure::x_label(self : Figure) -> String?

    Return the optional x-axis label from the default axes.

    Figure::x_limits

    Return explicit x limits, or the resolved datalim view, on the default axes.

    Figure::x_margin

    fn Figure::x_margin(self : Figure) -> Double

    Return the default axes' automatic x-axis margin.

    Figure::xaxis_date

    fn Figure::xaxis_date(self : Figure, format? : String) -> Unit raise
    DataError

    Configure date ticks on the default axes' x coordinate.

    Figure::xcorr

    fn Figure::xcorr(self : Figure, first : Array[Double], second : Array[Double], normed? : Bool, usevlines? : Bool, maxlags? : Int, color? : String, label? : String, detrend? : (Array[Double]) -> Array[Double]) -> Correlation raise
    DataError

    Plot and return a normalized cross-correlation sequence.

    The same detrending function is applied independently to both input sequences before correlation.

    Figure::y_axis

    Return the y-axis object from the default axes.

    Figure::y_date_timezone

    Return the transition-aware timezone used by the default y axis, if any.

    Figure::y_label

    fn Figure::y_label(self : Figure) -> String?

    Return the optional y-axis label from the default axes.

    Figure::y_limits

    Return explicit y limits, or the resolved datalim view, on the default axes.

    Figure::y_margin

    fn Figure::y_margin(self : Figure) -> Double

    Return the default axes' automatic y-axis margin.

    Figure::yaxis_date

    fn Figure::yaxis_date(self : Figure, format? : String) -> Unit raise
    DataError

    Configure date ticks on the default axes' y coordinate.

    Hexbin

    pub struct Hexbin {
    centers : Array[
    Point
    ]
    values : Array[Double]
    counts : Array[Int]
    }

    Bins returned by hexbin.

    Hexbin::centers

    Hexbin::counts

    fn Hexbin::counts(self : Hexbin) -> Array[Int]

    Hexbin::values

    fn Hexbin::values(self : Hexbin) -> Array[Double]

    HexbinReducer

    pub struct HexbinReducer {
    reducer : (Array[Double]) -> Double
    }

    A user supplied reducer for values collected in one hexbin cell.

    HexbinReducer::apply

    fn HexbinReducer::apply(self : HexbinReducer, samples : Array[Double]) -> Double

    Histogram

    pub struct Histogram {
    counts : Array[Double]
    edges : Array[Double]
    artists : Array[Artist]
    }

    Histogram counts and bin edges produced by Figure::hist.

    Histogram::artists

    fn Histogram::artists(self : Histogram) -> Array[Artist]

    Return copies of the bar artists generated for the histogram bins.

    Histogram::counts

    fn Histogram::counts(self : Histogram) -> Array[Double]

    Histogram::edges

    fn Histogram::edges(self : Histogram) -> Array[Double]

    Histogram::patches

    fn Histogram::patches(self : Histogram) -> Array[Artist]

    Matplotlib-style alias for the histogram bar artists.

    ImageInterpolation

    pub(all) enum ImageInterpolation {
    Nearest
    NoInterpolation
    Bilinear
    Bicubic
    Spline16
    Spline36
    Hanning
    Hamming
    Hermite
    Kaiser
    Quadric
    Catrom
    Gaussian
    Bessel
    Mitchell
    Sinc
    Lanczos
    Blackman
    Auto
    Antialiased
    }

    The sampling policy used when an image is mapped to the SVG display area.

    Nearest draws source cells as vector rectangles. NoInterpolation embeds source pixels in a PNG on linear axes; nonlinear axes use the same cell geometry as Nearest. The remaining modes use a display-sized PNG on linear axes and fall back to source-cell geometry on nonlinear axes.

    ImageOrigin

    pub(all) enum ImageOrigin {
    Upper
    Lower
    }

    The vertical orientation used when mapping matrix rows to data space.

    LegendEntry

    pub struct LegendEntry {
    label : String
    color : String
    kind : LegendKind
    }

    A labeled visual entry displayed inside an axes legend.

    LegendEntry::color

    fn LegendEntry::color(self : LegendEntry) -> String

    LegendEntry::kind

    fn LegendEntry::kind(self : LegendEntry) -> LegendKind

    LegendEntry::label

    fn LegendEntry::label(self : LegendEntry) -> String

    LegendKind

    pub(all) enum LegendKind {
    Line
    Marker
    Patch
    }

    The visual sample used by one legend entry.

    Line2D

    pub struct Line2D {
    // private fields
    }

    A stable Line data handle with copied originals and lazy converted views.

    Line2D::data_values_checked

    Read x then y, preserving the possibility of two different generations.

    Line2D::get_alpha

    fn Line2D::get_alpha(self : Line2D) -> Double?

    Line2D::get_color

    fn Line2D::get_color(self : Line2D) -> String

    Return the original color spelling, without resolving a color-cycle token.

    Line2D::get_data

    fn Line2D::get_data(self : Line2D) -> (LineData, LineData)

    Line2D::get_drawstyle

    fn Line2D::get_drawstyle(self : Line2D) -> String

    Line2D::get_gapcolor

    fn Line2D::get_gapcolor(self : Line2D) -> String?

    Line2D::get_linestyle

    fn Line2D::get_linestyle(self : Line2D) -> String

    Line2D::get_linewidth

    fn Line2D::get_linewidth(self : Line2D) -> Double

    Line2D::get_visible

    fn Line2D::get_visible(self : Line2D) -> Bool

    Line2D::get_xdata

    fn Line2D::get_xdata(self : Line2D) -> LineData

    Borrow the copied original x input without converting it.

    Line2D::get_ydata

    fn Line2D::get_ydata(self : Line2D) -> LineData

    Line2D::is_dashed

    fn Line2D::is_dashed(self : Line2D) -> Bool

    Line2D::path_values_checked

    Borrow cached path vertices as flat [x0,y0,...] Float64 storage. Processed coordinate queries remain unexpanded; default shares XY storage.

    Line2D::recache_checked

    fn Line2D::recache_checked(self : Line2D, always? : Bool) -> Unit raise
    DataError

    Rebuild one generation. Conversion side effects survive a later failure.

    Line2D::remove

    Remove this exact attached Line without recomputing limits or legend state.

    Line2D::set_alpha

    fn Line2D::set_alpha(self : Line2D, alpha : Double?) -> Unit raise
    DataError

    Equal alpha values are a complete no-op, including the sign of stored zero.

    Line2D::set_color

    fn Line2D::set_color(self : Line2D, color : String) -> Unit raise
    DataError

    Validate a source color and preserve its spelling for later drawing.

    Line2D::set_dashes

    fn Line2D::set_dashes(self : Line2D, seq : Array[Double]) -> Unit

    Snapshot numeric dashes as an immutable tuple-input profile. Validation of unusual numeric patterns remains draw-late, as for captured rc patterns.

    Line2D::set_data

    fn Line2D::set_data(self : Line2D, x : LineData, y : LineData) -> Unit

    Line2D::set_drawstyle

    fn Line2D::set_drawstyle(self : Line2D, drawstyle : String) -> Unit raise
    DataError

    Change the path construction mode without eagerly converting coordinates.

    Line2D::set_gapcolor

    fn Line2D::set_gapcolor(self : Line2D, gapcolor : String?) -> Unit raise
    DataError

    Validate first, then retain the raw optional spelling and always mark stale.

    Line2D::set_linestyle

    fn Line2D::set_linestyle(self : Line2D, linestyle : String) -> Unit raise
    DataError

    Line2D::set_linewidth

    fn Line2D::set_linewidth(self : Line2D, width : Double) -> Unit

    Set linewidth and refresh scaling of its captured unscaled dash metadata.

    Line2D::set_visible

    fn Line2D::set_visible(self : Line2D, visible : Bool) -> Unit

    Change drawing visibility without invalidating data or requesting new limits.

    Line2D::set_xdata

    fn Line2D::set_xdata(self : Line2D, values : LineData) -> Unit

    Copy new x originals and invalidate only x; limits are updated separately.

    Line2D::set_ydata

    fn Line2D::set_ydata(self : Line2D, values : LineData) -> Unit

    Line2D::stale

    fn Line2D::stale(self : Line2D) -> Bool

    Line2D::x_values_checked

    Borrow the current generation's x view, refreshing only when x is invalid.

    Line2D::xy_values_checked

    Borrow flat interleaved [x0,y0,x1,y1,...] Float64 storage.

    LineData

    pub(all) enum LineData {
    Numeric(Array[Double])
    Category(Array[String])
    Date(Array[
    RRuleDateTime
    ])
    }

    Original coordinate kind is independent of the Axis's current converter.

    PathCollection

    A collection of marker paths with per-point styles.

    This is the data model used by the collection form of scatter. Colors are CSS-compatible strings and sizes are marker areas; a size of s is rendered with radius sqrt(s) in SVG display units.

    PathCollection::length

    fn PathCollection::length(self : PathCollection) -> Int

    Return the number of markers in this collection.

    PathCollection::points

    Return a copy of the collection's data points.

    PathCollection::styles

    Return a copy of the per-point styles.

    SecondaryAxis

    pub struct SecondaryAxis {
    label : String?
    // private fields
    }

    A coordinate axis whose values are derived from a primary axis.

    SecondaryAxis::alignment

    SecondaryAxis::apply_aspect

    Synchronize limits using the currently installed context, without scale reset.

    SecondaryAxis::clear_formatter

    fn SecondaryAxis::clear_formatter(self : SecondaryAxis) -> Unit

    Clear both major formatter roles and restore explicit plain numeric labels.

    SecondaryAxis::clear_locator

    fn SecondaryAxis::clear_locator(self : SecondaryAxis) -> Unit

    Explicit convenience extension restoring the legacy parent-grid sampler.

    SecondaryAxis::clear_minor_locator

    fn SecondaryAxis::clear_minor_locator(self : SecondaryAxis) -> Unit

    SecondaryAxis::clear_minor_named_formatter

    fn SecondaryAxis::clear_minor_named_formatter(self : SecondaryAxis) -> Unit

    SecondaryAxis::clear_named_formatter

    fn SecondaryAxis::clear_named_formatter(self : SecondaryAxis) -> Unit

    SecondaryAxis::formatter

    SecondaryAxis::formatter_axis_binding

    SecondaryAxis::formatter_offset_label_checked

    fn SecondaryAxis::formatter_offset_label_checked(self : SecondaryAxis, values : Array[Double], view? :
    Limits
    ) -> String raise
    DataError

    SecondaryAxis::formatter_tick_locations_checked

    SecondaryAxis::formatter_warnings

    fn SecondaryAxis::formatter_warnings(self : SecondaryAxis) -> Array[String]

    SecondaryAxis::forward

    fn SecondaryAxis::forward(self : SecondaryAxis) -> ((Double) -> Double)

    SecondaryAxis::get_tick_space

    fn SecondaryAxis::get_tick_space(self : SecondaryAxis) -> Double

    SecondaryAxis::inverse

    fn SecondaryAxis::inverse(self : SecondaryAxis) -> ((Double) -> Double)

    SecondaryAxis::label

    fn SecondaryAxis::label(self : SecondaryAxis) -> String?

    SecondaryAxis::location

    SecondaryAxis::minor_locator

    SecondaryAxis::minor_named_formatter

    SecondaryAxis::minor_overlap_removal

    fn SecondaryAxis::minor_overlap_removal(self : SecondaryAxis) -> Bool

    SecondaryAxis::minor_tick_labels_checked

    fn SecondaryAxis::minor_tick_labels_checked(self : SecondaryAxis, values : Array[Double], view? :
    Limits
    ) -> Array[String] raise
    DataError

    SecondaryAxis::minor_tick_values_checked

    fn SecondaryAxis::minor_tick_values_checked(self : SecondaryAxis) -> Array[Double] raise
    DataError

    SecondaryAxis::named_formatter

    SecondaryAxis::position

    fn SecondaryAxis::position(self : SecondaryAxis) -> Double

    Return the requested numerical location without changing active geometry.

    SecondaryAxis::prepare_draw

    Draw maps parent limits through the OLD child context before checking scale.

    SecondaryAxis::reset_functions

    Store identity limit functions, corresponding to source set_functions(None). The same parent-name gate applies to the already installed transform.

    SecondaryAxis::set_alignment

    Change only the visible decoration side, independently of the location.

    SecondaryAxis::set_formatter

    fn SecondaryAxis::set_formatter(self : SecondaryAxis, formatter :
    Formatter
    ) -> Unit

    SecondaryAxis::set_functions

    fn SecondaryAxis::set_functions(self : SecondaryAxis, forward : (Double) -> Double, inverse : (Double) -> Double) -> Unit raise
    DataError

    Replace the functions used to map parent limits. A matching parent scale name retains the installed transform and ticker objects until a name change. Functions remain assigned if the later scale synchronization raises.

    SecondaryAxis::set_label

    fn SecondaryAxis::set_label(self : SecondaryAxis, value : String) -> Unit

    SecondaryAxis::set_location

    Change the requested location. Positioning is deferred to an aspect stage.

    SecondaryAxis::set_locator

    Install a locator in the secondary axis' own coordinates and stable context.

    SecondaryAxis::set_minor_locator

    Install a minor locator in the stable secondary Axis context.

    SecondaryAxis::set_minor_named_formatter

    fn SecondaryAxis::set_minor_named_formatter(self : SecondaryAxis, formatter :
    BaseFormatter
    ) -> Unit

    SecondaryAxis::set_minor_overlap_removal

    fn SecondaryAxis::set_minor_overlap_removal(self : SecondaryAxis, enabled : Bool) -> Unit

    SecondaryAxis::set_named_formatter

    fn SecondaryAxis::set_named_formatter(self : SecondaryAxis, formatter :
    BaseFormatter
    ) -> Unit

    SecondaryAxis::set_tick_count

    fn SecondaryAxis::set_tick_count(self : SecondaryAxis, value : Int) -> Unit

    Select the legacy parent-grid sampler only while no explicit locator owns ticks.

    SecondaryAxis::set_tick_label_size

    fn SecondaryAxis::set_tick_label_size(self : SecondaryAxis, size : Double) -> Unit

    SecondaryAxis::set_ticks

    fn SecondaryAxis::set_ticks(self : SecondaryAxis, values : Array[Double]) -> Unit raise
    DataError

    SecondaryAxis::tick_count

    fn SecondaryAxis::tick_count(self : SecondaryAxis) -> Int

    SecondaryAxis::tick_group_is_null

    fn SecondaryAxis::tick_group_is_null(self : SecondaryAxis, minor? : Bool) -> Bool

    SecondaryAxis::tick_label_size

    fn SecondaryAxis::tick_label_size(self : SecondaryAxis) -> Double

    SecondaryAxis::tick_labels_checked

    fn SecondaryAxis::tick_labels_checked(self : SecondaryAxis, values : Array[Double], view? :
    Limits
    ) -> Array[String] raise
    DataError

    SecondaryAxis::tick_values_checked

    fn SecondaryAxis::tick_values_checked(self : SecondaryAxis) -> Array[Double] raise
    DataError

    SecondaryAxis::ticks

    fn SecondaryAxis::ticks(self : SecondaryAxis) -> Array[Double]?

    Return a copy of the currently retained explicit set_ticks positions.

    SecondaryAxisAlignment

    pub(all) enum SecondaryAxisAlignment {
    Top
    Bottom
    Left
    Right
    }

    Decoration side, independent of the requested secondary-axis location.

    SecondaryAxisLocation

    pub(all) enum SecondaryAxisLocation {
    Top
    Bottom
    Left
    Right
    Position(Double)
    }

    Location of a secondary coordinate axis.

    Spine

    pub struct Spine {
    axes : Axes
    side : SpineSide
    }

    A handle to one of an axes panel's four spines.

    Spine::bounds

    fn Spine::bounds(self : Spine) -> (Double, Double)?

    Return optional data-coordinate bounds for this spine.

    Spine::clear_bounds

    fn Spine::clear_bounds(self : Spine) -> Unit

    Remove an explicit spine interval.

    Spine::color

    fn Spine::color(self : Spine) -> String

    Return the spine stroke color.

    Spine::linewidth

    fn Spine::linewidth(self : Spine) -> Double

    Return the spine stroke width.

    Spine::position

    fn Spine::position(self : Spine) -> SpinePosition

    Return this spine's positioning mode.

    Spine::set_bounds

    fn Spine::set_bounds(self : Spine, lower : Double, upper : Double) -> Unit raise
    DataError

    Restrict a spine to a finite data-coordinate interval.

    Spine::set_color

    fn Spine::set_color(self : Spine, color : String) -> Unit raise
    DataError

    Set the spine stroke color.

    Spine::set_linewidth

    fn Spine::set_linewidth(self : Spine, linewidth : Double) -> Unit raise
    DataError

    Set the spine stroke width.

    Spine::set_position

    fn Spine::set_position(self : Spine, position : SpinePosition) -> Unit raise
    DataError

    Set this spine's positioning mode.

    Spine::set_visible

    fn Spine::set_visible(self : Spine, visible : Bool) -> Unit

    Set whether this spine is rendered.

    Spine::side

    fn Spine::side(self : Spine) -> SpineSide

    Return the side represented by this spine handle.

    Spine::visible

    fn Spine::visible(self : Spine) -> Bool

    Return whether this spine is rendered.

    SpinePosition

    pub(all) enum SpinePosition {
    Axes
    Data(Double)
    Outward(Double)
    }

    Positioning modes supported by an axes spine.

    SpineSide

    pub(all) enum SpineSide {
    Left
    Right
    Bottom
    Top
    }

    The four standard borders around an axes panel.

    StreamplotSet

    pub struct StreamplotSet {
    lines : Array[Artist]
    arrows : Array[Artist]
    }

    The line and arrow artists produced by one streamplot call.

    The arrays contain copies of the artists added to the owning axes, so the returned value can be inspected without changing the figure.

    StreamplotSet::arrows

    fn StreamplotSet::arrows(self : StreamplotSet) -> Array[Artist]

    Return the arrow artists generated by this result.

    StreamplotSet::lines

    fn StreamplotSet::lines(self : StreamplotSet) -> Array[Artist]

    Return the streamline artists generated by this result.

    SubFigure

    pub struct SubFigure {
    figure : Figure
    data :
    Ref
    [SubFigureData]
    }

    A nested figure region backed by a parent Figure and a SubplotSpec span.

    SubFigure axes are regular scene Axes owned by the parent Figure, so they participate in the same SVG render and retain the parent GridSpec's live ratio updates.

    SubFigure::add_subfigure

    Add a child nested figure region inside this SubFigure.

    SubFigure::add_subplot

    Add an Axes owned by the parent Figure to this nested region.

    SubFigure::axes_list

    fn SubFigure::axes_list(self : SubFigure) -> Array[Axes]

    Return attached axes created directly through this SubFigure handle.

    SubFigure::clear

    fn SubFigure::clear(self : SubFigure) -> Unit

    Clear this nested region's axes and title.

    SubFigure::clear_checked

    fn SubFigure::clear_checked(self : SubFigure) -> Unit raise
    DataError

    Clear each panel in this retained nested region through the same checked path.

    SubFigure::delaxes

    fn SubFigure::delaxes(self : SubFigure, axes : Axes) -> Unit raise
    DataError

    Remove axes created directly through this SubFigure. Axes in another region or a child SubFigure raise InvalidReference.

    test {
    let fig = @scene.figure()
    let grid = try! fig.grid_spec(1, 1)
    let sub = fig.add_subfigure(try! grid.cell_spec(0, 0))
    let ax = try! sub.subplots(1, 1)[0]
    try! sub.delaxes(ax)
    assert_eq(sub.axes_list().length(), 0)
    assert_eq(fig.axes_list().length(), 0)
    }

    SubFigure::figure

    fn SubFigure::figure(self : SubFigure) -> Figure

    Return the parent Figure.

    SubFigure::get_axes

    fn SubFigure::get_axes(self : SubFigure) -> Array[Axes]

    Matplotlib-compatible alias for axes_list.

    SubFigure::rect

    Return the current display rectangle of this nested figure.

    SubFigure::set_title

    fn SubFigure::set_title(self : SubFigure, title : String) -> Unit

    Set the nested figure title.

    SubFigure::subfigures

    fn SubFigure::subfigures(self : SubFigure) -> Array[SubFigure]

    Return child nested figures registered on this SubFigure.

    SubFigure::subplot_spec

    Return the GridSpec span occupied by this nested figure.

    SubFigure::subplots

    fn SubFigure::subplots(self : SubFigure, rows : Int, columns : Int, hspace? : Double, vspace? : Double, share_x? : Bool, share_y? : Bool, width_ratios? : Array[Double], height_ratios? : Array[Double]) -> Array[Axes] raise
    LayoutError

    Create a regular nested grid and add all of its axes.

    SubFigure::subplots_with_grid

    Create nested axes according to a GridSpec's sharing constraints.

    SubFigure::suptitle

    fn SubFigure::suptitle(self : SubFigure, title : String) -> Unit

    Matplotlib-compatible alias for set_title.

    SubFigure::title

    fn SubFigure::title(self : SubFigure) -> String?

    Return the nested figure title, if one was configured.

    SubFigureData

    type SubFigureData

    State retained by a SubFigure handle and consumed by the renderer.

    Table

    pub struct Table {
    cells : Array[TableCell]
    rows : Int
    columns : Int
    x : Double
    y : Double
    width : Double
    height : Double
    column_widths : Array[Double]
    }

    A table laid out in normalized axes coordinates.

    Table::cell

    fn Table::cell(self : Table, row : Int, column : Int) -> TableCell?

    Table::cells

    fn Table::cells(self : Table) -> Array[TableCell]

    Table::column_widths

    fn Table::column_widths(self : Table) -> Array[Double]

    Table::columns

    fn Table::columns(self : Table) -> Int

    Table::height

    fn Table::height(self : Table) -> Double

    Table::rows

    fn Table::rows(self : Table) -> Int

    Table::width

    fn Table::width(self : Table) -> Double

    Table::x

    fn Table::x(self : Table) -> Double

    Table::y

    fn Table::y(self : Table) -> Double

    TableCell

    pub struct TableCell {
    row : Int
    column : Int
    text : String
    facecolor : String
    edgecolor : String
    align : String
    visible_edges : String
    }

    One cell in a table artist.

    TableCell::align

    fn TableCell::align(self : TableCell) -> String

    TableCell::column

    fn TableCell::column(self : TableCell) -> Int

    TableCell::edgecolor

    fn TableCell::edgecolor(self : TableCell) -> String

    TableCell::facecolor

    fn TableCell::facecolor(self : TableCell) -> String

    TableCell::row

    fn TableCell::row(self : TableCell) -> Int

    TableCell::text

    fn TableCell::text(self : TableCell) -> String

    TableCell::visible_edges

    fn TableCell::visible_edges(self : TableCell) -> String

    TriFinder

    pub struct TriFinder {
    x : Array[Double]
    y : Array[Double]
    triangles : Array[Array[Int]]
    mask : Array[Bool]
    }

    A point-to-triangle lookup built from a validated triangulation.

    find returns the index of the first visible triangle containing the query point. Points outside the mesh, points in masked faces, and non-finite query coordinates return -1, matching Matplotlib's TriFinder sentinel convention.

    TriFinder::find

    fn TriFinder::find(self : TriFinder, x : Double, y : Double) -> Int

    Find the index of the first visible triangle containing (x, y).

    The return value is -1 when the point is outside the triangulation, lies in a masked face, or has a non-finite coordinate. Points on a shared edge use the first visible face in mesh order, making the result deterministic.

    TriFinder::find_many

    fn TriFinder::find_many(self : TriFinder, xs : Array[Double], ys : Array[Double]) -> Array[Int] raise
    DataError

    Find triangles for parallel arrays of query coordinates.

    Triangulation

    pub struct Triangulation {
    x : Array[Double]
    y : Array[Double]
    triangles : Array[Array[Int]]
    mask : Array[Bool]
    edges : Array[(Int, Int)]
    neighbors : Array[Array[Int]]
    delaunay : Bool
    }

    A validated triangular mesh with derived edges and face neighbors.

    triangulation accepts explicit triangle indices or constructs a deterministic Delaunay triangulation when the indices are omitted.

    Triangulation::edges

    fn Triangulation::edges(self : Triangulation) -> Array[(Int, Int)]

    Return each visible mesh edge once as a pair of vertex indices.

    Triangulation::find_triangle

    fn Triangulation::find_triangle(self : Triangulation, x : Double, y : Double) -> Int

    Return the index of the triangle containing a point, or -1 outside the mesh. This is a convenience wrapper around get_trifinder().find.

    Triangulation::get_masked_triangles

    fn Triangulation::get_masked_triangles(self : Triangulation) -> Array[Array[Int]]

    Return a deep copy containing only unmasked triangle faces.

    Triangulation::get_trifinder

    fn Triangulation::get_trifinder(self : Triangulation) -> TriFinder

    Return a point finder for this triangulation.

    Triangulation::is_delaunay

    fn Triangulation::is_delaunay(self : Triangulation) -> Bool

    Whether the mesh was generated automatically from the vertices.

    Triangulation::mask

    fn Triangulation::mask(self : Triangulation) -> Array[Bool]

    Return a copy of the per-face mask. An empty mask means every face is visible.

    Triangulation::neighbors

    fn Triangulation::neighbors(self : Triangulation) -> Array[Array[Int]]

    Return one neighbor index for each opposite triangle side, or -1 for a boundary edge or a masked face.

    Triangulation::triangles

    fn Triangulation::triangles(self : Triangulation) -> Array[Array[Int]]

    Return a deep copy of the triangle index triples.

    Triangulation::x

    fn Triangulation::x(self : Triangulation) -> Array[Double]

    Return a copy of the mesh x coordinates.

    Triangulation::y

    fn Triangulation::y(self : Triangulation) -> Array[Double]

    Return a copy of the mesh y coordinates.

    ViolinBandwidth

    pub(all) enum ViolinBandwidth {
    Scott
    Silverman
    Fixed(Double)
    }

    Bandwidth rules used by the Gaussian kernel density estimate.

    ViolinSide

    pub(all) enum ViolinSide {
    Both
    Low
    High
    }

    Select which side of a violin body is filled around its position.

    ViolinStats

    pub struct ViolinStats {
    coords : Array[Double]
    vals : Array[Double]
    mean : Double
    median : Double
    min : Double
    max : Double
    quantiles : Array[Double]
    }

    Kernel-density and summary statistics used to draw one violin.

    ViolinStats::coords

    fn ViolinStats::coords(self : ViolinStats) -> Array[Double]

    Return the coordinates sampled by the density estimate.

    ViolinStats::max

    fn ViolinStats::max(self : ViolinStats) -> Double

    ViolinStats::mean

    fn ViolinStats::mean(self : ViolinStats) -> Double

    ViolinStats::median

    fn ViolinStats::median(self : ViolinStats) -> Double

    ViolinStats::min

    fn ViolinStats::min(self : ViolinStats) -> Double

    ViolinStats::quantiles

    fn ViolinStats::quantiles(self : ViolinStats) -> Array[Double]

    ViolinStats::vals

    fn ViolinStats::vals(self : ViolinStats) -> Array[Double]

    Return the density values sampled at coords.

    detrend_linear

    fn detrend_linear(values : Array[Double]) -> Array[Double]

    Remove the least-squares line from correlation samples.

    The sample index (0 .. n - 1) is used as the independent variable. For fewer than two samples the input is returned unchanged.

    detrend_mean

    fn detrend_mean(values : Array[Double]) -> Array[Double]

    Remove the arithmetic mean from correlation samples.

    The returned array always has the same length as the input. Empty input is returned unchanged; the correlation entry points reject empty samples before invoking this function.

    detrend_none

    fn detrend_none(values : Array[Double]) -> Array[Double]

    Leave correlation samples unchanged while returning an owned copy.

    This is the default detrending function for acorr and xcorr.

    figure

    fn figure(width? : Int, height? : Int) -> Figure

    Create an empty figure with one default axes panel.

    hexbin_reducer

    fn hexbin_reducer(reducer : (Array[Double]) -> Double) -> HexbinReducer

    Wrap a callable reducer for use with hexbin(reduce_fn=...).

    legend_entry

    fn legend_entry(label : String, color? : String, kind? : LegendKind) -> LegendEntry

    Construct a legend entry with a line sample by default.

    path_collection

    fn path_collection(points : Array[
    Point
    ], colors? : Array[String], sizes? : Array[Double]) -> PathCollection raise
    DataError

    Construct a marker collection with broadcastable colors and sizes.

    streamplot_set

    fn streamplot_set(lines : Array[Artist], arrows : Array[Artist]) -> StreamplotSet

    Construct a streamplot result from its line and arrow artists.

    triangulation

    fn triangulation(xs : Array[Double], ys : Array[Double], triangles? : Array[Array[Int]], mask? : Array[Bool]) -> Triangulation raise
    DataError

    Construct a triangular mesh. If triangles is empty, a Delaunay mesh is generated from the input vertices. A mask marks faces that remain in the mesh data but are excluded from edges and neighbors.

    trifinder

    fn trifinder(mesh : Triangulation) -> TriFinder

    Construct a finder from a triangulation, copying the mesh data so later changes to caller-owned arrays cannot affect lookup results.

    violin_stats

    fn violin_stats(values : Array[Double], points? : Int, bandwidth? : ViolinBandwidth, quantiles? : Array[Double]) -> ViolinStats raise
    DataError

    Compute the statistics and Gaussian density for one violin series.