Versions in this module Expand all Collapse all v0 v0.10.0 Sep 11, 2026 Changes in this version + func Plane(p ContourPlane) geom.Option + type ContourPlane uint8 + const Ceiling + const Floor + type Highlight struct + Color ir.Color + Dash []float32 + Data []Point3 + Marks []Mark + Radius float32 + View int + Width float32 + func (h *Highlight) DrawOverlay(b ir.Backend, f OverlayFrame) type Layer + func Contour(src data.Source, opts ...geom.Option) Layer type Live + func (l *Live) CurrentOverlay() Overlay + func (l *Live) Overlay(o Overlay) *Live + type Mark struct + At ir.Point + Hidden bool + type Overlay interface + DrawOverlay func(b ir.Backend, f OverlayFrame) + type OverlayFrame struct + Canvas ir.Rect + Theme theme.Theme + Views []OverlayView + func (f OverlayFrame) View(i int) (OverlayView, bool) + func (f OverlayFrame) ViewAt(pt ir.Point) (OverlayView, bool) + type OverlayView struct + Area ir.Rect + Camera Camera + Index int + Inner ir.Rect + Label string + Project Projection + X scale.Scale + Y scale.Scale + Z scale.Scale + func (v OverlayView) At(x, y, z float64) (ir.Point, bool) + type Overlays []Overlay + func (os Overlays) DrawOverlay(b ir.Backend, f OverlayFrame) type Plot + func (p *Plot) CurrentOverlay() Overlay + func (p *Plot) CurrentScene() *Scene + func (p *Plot) Overlay(o Overlay) *Plot + type Point3 struct + X float64 + Y float64 + Z float64 + type Projection struct + func (pj Projection) Depth(v Vec3) float64 + func (pj Projection) Point(v Vec3) ir.Point + func (pj Projection) Valid() bool v0.9.0 Sep 11, 2026 Changes in this version + var ErrCategorical = errors.New("figure/three: categorical column on a continuous scale") + var ErrNoColumn = errors.New("figure/three: no column selected") + var ErrNoScene = errors.New("three: the plot has no scene") + type Camera struct + func Dolly(c Camera, by float64) Camera + func Home() Camera + func LookAt(opts ...CameraOption) Camera + func Orbit(c Camera, dAz, dEl float64) Camera + func Slerp(a, b Camera, t float64) Camera + func (c Camera) Azimuth() float64 + func (c Camera) Elevation() float64 + func (c Camera) Eye() Vec3 + func (c Camera) Forward() Vec3 + func (c Camera) Zoom() float64 + type CameraOption func(*Camera) + func Azimuth(rad float64) CameraOption + func Elevation(rad float64) CameraOption + func Zoom(f float64) CameraOption + type Describer interface + Describe func() geom.Desc + type Frame struct + Forward Vec3 + Index int + Rows geom.Rows + Theme theme.Theme + View int + X scale.Scale + Y scale.Scale + Z scale.Scale + type Layer interface + Emit func(s *Sink, f Frame) error + Legend func(f Frame) (geom.LegendEntry, bool) + Train func(t geom.Training) error + func Bar3(src data.Source, opts ...geom.Option) Layer + func Line3(src data.Source, opts ...geom.Option) Layer + func Surface(src data.Source, opts ...geom.Option) Layer + type Live struct + func (l *Live) Camera(cam Camera) *Live + func (l *Live) CameraOf(i int) Camera + func (l *Live) CameraValue() Camera + func (l *Live) Close() error + func (l *Live) Draw() error + func (l *Live) Home() *Live + func (l *Live) Index() *interact.Index + func (l *Live) Rescale(dpr float64) error + func (l *Live) Resize(w, h int) error + func (l *Live) SetCamera(i int, cam Camera) *Live + func (l *Live) Size() (w, h int) + func (l *Live) TrackRows(on bool) *Live + func (l *Live) ViewAt(x, y float64) int + func (l *Live) ViewCount() int + type Option func(*Plot) + func Columns(n int) Option + func DPR(r float64) Option + func Description(title, detail string) Option + func Size(w, h int) Option + func Theme(t theme.Theme) Option + func Title(s string) Option + type Plot struct + func New(opts ...Option) *Plot + func (p *Plot) Add(vs ...View) *Plot + func (p *Plot) DataTable(w io.Writer) error + func (p *Plot) Describe() a11y.Summary + func (p *Plot) Description() ir.Description + func (p *Plot) Live(t ir.Target) (*Live, error) + func (p *Plot) Observer(o render.Observer) *Plot + func (p *Plot) Render(t ir.Target) (err error) + func (p *Plot) Scene(s *Scene) *Plot + func (p *Plot) Size() (w, h int) + func (p *Plot) TrackRows(r geom.Rows) *Plot + func (p *Plot) Views() []View + type Scene struct + func NewScene(opts ...SceneOption) *Scene + func (s *Scene) Add(ls ...Layer) *Scene + func (s *Scene) Layers() []Layer + func (s *Scene) SetLayers(ls ...Layer) *Scene + func (s *Scene) X(sc scale.Scale) *Scene + func (s *Scene) Y(sc scale.Scale) *Scene + func (s *Scene) Z(sc scale.Scale) *Scene + type SceneOption func(*Scene) + func XTitle(s string) SceneOption + func YTitle(s string) SceneOption + func ZTitle(s string) SceneOption + type Sink struct + func (s *Sink) Face(vs []Vec3, st Style) + func (s *Sink) Forward() Vec3 + func (s *Sink) Line(vs []Vec3, st Style) + func (s *Sink) Row(i int) + func (s *Sink) Text(at Vec3, run ir.TextRun) + type Style struct + Fill ir.Color + Stroke ir.Color + Width float32 + type Vec3 struct + X float32 + Y float32 + Z float32 + func V(x, y, z float32) Vec3 + func (v Vec3) Add(w Vec3) Vec3 + func (v Vec3) Cross(w Vec3) Vec3 + func (v Vec3) Dot(w Vec3) float64 + func (v Vec3) Mul(f float32) Vec3 + func (v Vec3) Sub(w Vec3) Vec3 + func (v Vec3) Unit() Vec3 + type View struct + Camera Camera + Label string + Scene *Scene