Skip to main content

Class: Axes

Defined in: mobjects/graphing/Axes.ts:63

Axes - A coordinate system with x and y axes

Creates a 2D coordinate system with configurable ranges and styling. Supports coordinate transformations between graph space and visual space.

Example

// Create default axes
const axes = new Axes();

// Create axes with custom ranges
const customAxes = new Axes({
xRange: [0, 10, 1],
yRange: [-1, 1, 0.5],
xLength: 8,
yLength: 4
});

// Get a point in visual coordinates
const point = axes.coordsToPoint(3, 2);

Extends

Extended by

Constructors

Constructor

new Axes(options): Axes

Defined in: mobjects/graphing/Axes.ts:79

Parameters

options

AxesOptions = {}

Returns

Axes

Overrides

Group.constructor

Properties

__savedMobjectState

__savedMobjectState: unknown = null

Defined in: core/Mobject.ts:82

JSON-serializable saved state (used by restoreState()).

Inherited from

Group.__savedMobjectState


_color

protected _color: string = '#ffffff'

Defined in: core/Mobject.ts:57

Inherited from

Group._color


_dirty

_dirty: boolean = true

Defined in: core/Mobject.ts:75

Inherited from

Group._dirty


_disableChildZLayering

protected _disableChildZLayering: boolean = false

Defined in: core/Mobject.ts:72

When true, children skip the 2D z-layering offset in _syncToThree.

Inherited from

Group._disableChildZLayering


_opacity

protected _opacity: number = 1

Defined in: core/Mobject.ts:68

Inherited from

Group._opacity


_style

protected _style: MobjectStyle

Defined in: core/Mobject.ts:73

Inherited from

Group._style


_threeObject

_threeObject: Object3D<Object3DEventMap> = null

Defined in: core/Mobject.ts:74

Inherited from

Group._threeObject


_tipLength

protected _tipLength: number

Defined in: mobjects/graphing/Axes.ts:74


_tips

protected _tips: boolean

Defined in: mobjects/graphing/Axes.ts:73


_xLength

protected _xLength: number

Defined in: mobjects/graphing/Axes.ts:71


_xRange

protected _xRange: [number, number, number]

Defined in: mobjects/graphing/Axes.ts:69


_xTip

protected _xTip: VMobject = null

Defined in: mobjects/graphing/Axes.ts:75


_yLength

protected _yLength: number

Defined in: mobjects/graphing/Axes.ts:72


_yRange

protected _yRange: [number, number, number]

Defined in: mobjects/graphing/Axes.ts:70


_yTip

protected _yTip: VMobject = null

Defined in: mobjects/graphing/Axes.ts:76


children

children: Mobject[] = []

Defined in: core/Mobject.ts:52

Inherited from

Group.children


createdAtBeginning

createdAtBeginning: boolean = false

Defined in: core/Mobject.ts:56

Inherited from

Group.createdAtBeginning


fillOpacity

fillOpacity: number = 0

Defined in: core/Mobject.ts:70

Inherited from

Group.fillOpacity


id

readonly id: string

Defined in: core/Mobject.ts:50

Inherited from

Group.id


parent

parent: Mobject = null

Defined in: core/Mobject.ts:51

Inherited from

Group.parent


position

position: Vector3

Defined in: core/Mobject.ts:53

Inherited from

Group.position


rotation

rotation: Euler

Defined in: core/Mobject.ts:54

Inherited from

Group.rotation


savedState

savedState: Mobject = null

Defined in: core/Mobject.ts:78

Saved mobject copy (used by Restore animation). Set by saveState().

Inherited from

Group.savedState


scaleVector

scaleVector: Vector3

Defined in: core/Mobject.ts:55

Inherited from

Group.scaleVector


strokeWidth

strokeWidth: number = 4

Defined in: core/Mobject.ts:69

Inherited from

Group.strokeWidth


targetCopy

targetCopy: Mobject = null

Defined in: core/Mobject.ts:80

Target copy used by generateTarget() / MoveToTarget animation.

Inherited from

Group.targetCopy


xAxis

xAxis: NumberLine

Defined in: mobjects/graphing/Axes.ts:65

The x-axis NumberLine


yAxis

yAxis: NumberLine

Defined in: mobjects/graphing/Axes.ts:67

The y-axis NumberLine

Accessors

color

Get Signature

get color(): string

Defined in: core/Mobject.ts:58

Returns

string

Set Signature

set color(value): void

Defined in: core/Mobject.ts:61

Parameters
value

string

Returns

void

Inherited from

Group.color


fillColor

Get Signature

get fillColor(): string

Defined in: core/Mobject.ts:171

Returns

string

Set Signature

set fillColor(color): void

Defined in: core/Mobject.ts:175

Parameters
color

string

Returns

void

Inherited from

Group.fillColor


isDirty

Get Signature

get isDirty(): boolean

Defined in: core/Mobject.ts:448

Returns

boolean

Inherited from

Group.isDirty


length

Get Signature

get length(): number

Defined in: core/Group.ts:260

Get the number of mobjects in this group.

Returns

number

Inherited from

Group.length


opacity

Get Signature

get opacity(): number

Defined in: core/Mobject.ts:101

Returns

number

Set Signature

set opacity(value): void

Defined in: core/Mobject.ts:105

Parameters
value

number

Returns

void

Inherited from

Group.opacity


style

Get Signature

get style(): MobjectStyle

Defined in: core/Mobject.ts:109

Returns

MobjectStyle

Inherited from

Group.style


submobjects

Get Signature

get submobjects(): Mobject[]

Defined in: core/Mobject.ts:123

Returns

Mobject[]

Inherited from

Group.submobjects


xRange

Get Signature

get xRange(): [number, number, number]

Defined in: mobjects/graphing/Axes.ts:312

Public accessor for x range (matches Python Manim's ax.x_range)

Returns

[number, number, number]


yRange

Get Signature

get yRange(): [number, number, number]

Defined in: mobjects/graphing/Axes.ts:324

Public accessor for y range (matches Python Manim's ax.y_range)

Returns

[number, number, number]

Methods

_createCopy()

protected _createCopy(): Axes

Defined in: mobjects/graphing/Axes.ts:784

Create a copy of this Axes

Returns

Axes

Overrides

Group._createCopy


_createThreeObject()

protected _createThreeObject(): Object3D

Defined in: core/Group.ts:238

Create the Three.js backing object for this Group. A group is simply a THREE.Group that contains children.

Returns

Object3D

Inherited from

Group._createThreeObject


_getBoundingBox()

_getBoundingBox(): object

Defined in: core/Mobject.ts:367

Returns

object

depth

depth: number

height

height: number

width

width: number

Deprecated

Use getBoundingBox() instead.

Inherited from

Group._getBoundingBox


_getEdgeInDirection()

_getEdgeInDirection(direction): Vector3Tuple

Defined in: core/Mobject.ts:360

Parameters

direction

Vector3Tuple

Returns

Vector3Tuple

Inherited from

Group._getEdgeInDirection


_markDirty()

_markDirty(): void

Defined in: core/Mobject.ts:438

Returns

void

Inherited from

Group._markDirty


_markDirtyUpward()

_markDirtyUpward(): void

Defined in: core/Mobject.ts:442

Returns

void

Inherited from

Group._markDirtyUpward


_syncMaterialToThree()

protected _syncMaterialToThree(): void

Defined in: core/Mobject.ts:436

Returns

void

Inherited from

Group._syncMaterialToThree


_syncToThree()

_syncToThree(): void

Defined in: core/Mobject.ts:416

Returns

void

Inherited from

Group._syncToThree


[iterator]()

[iterator](): Iterator<Mobject>

Defined in: core/Group.ts:276

Iterate over all mobjects in the group.

Returns

Iterator<Mobject>

Inherited from

Group.[iterator]


add()

add(mobject): this

Defined in: core/Group.ts:31

Add a mobject to this group.

Parameters

mobject

Mobject

Mobject to add

Returns

this

this for chaining

Inherited from

Group.add


addUpdater()

addUpdater(updater, callOnAdd): this

Defined in: core/Mobject.ts:474

Parameters

updater

UpdaterFunction

callOnAdd

boolean = false

Returns

this

Inherited from

Group.addUpdater


alignTo()

alignTo(target, direction): this

Defined in: core/Mobject.ts:345

Parameters

target

Mobject | Vector3Tuple

direction

Vector3Tuple

Returns

this

Inherited from

Group.alignTo


applyFunction()

applyFunction(fn): this

Defined in: core/Mobject.ts:504

Parameters

fn

(point) => number[]

Returns

this

Inherited from

Group.applyFunction


applyToFamily()

applyToFamily(func): this

Defined in: core/Mobject.ts:462

Parameters

func

(mobject) => void

Returns

this

Inherited from

Group.applyToFamily


become()

become(other): this

Defined in: core/Mobject.ts:294

Parameters

other

Mobject

Returns

this

Inherited from

Group.become


c2p()

c2p(x, y): Vector3Tuple

Defined in: mobjects/graphing/Axes.ts:247

Alias for coordsToPoint (matches Python Manim's c2p shorthand)

Parameters

x

number

y

number

Returns

Vector3Tuple


c2pX()

c2pX(x): number

Defined in: mobjects/graphing/Axes.ts:352

Convert an x coordinate to visual x position

Parameters

x

number

Returns

number


c2pY()

c2pY(y): number

Defined in: mobjects/graphing/Axes.ts:359

Convert a y coordinate to visual y position

Parameters

y

number

Returns

number


center()

center(): this

Defined in: core/Mobject.ts:397

Returns

this

Inherited from

Group.center


clear()

clear(): this

Defined in: core/Group.ts:73

Remove all children from this group.

Returns

this

this for chaining

Inherited from

Group.clear


clearUpdaters()

clearUpdaters(): this

Defined in: core/Mobject.ts:486

Returns

this

Inherited from

Group.clearUpdaters


coordsToPoint()

coordsToPoint(x, y): Vector3Tuple

Defined in: mobjects/graphing/Axes.ts:251

Parameters

x

number

y

number

Returns

Vector3Tuple


copy()

copy(): Mobject

Defined in: core/Mobject.ts:276

Returns

Mobject

Inherited from

Group.copy


dispose()

dispose(): void

Defined in: core/Mobject.ts:532

Returns

void

Inherited from

Group.dispose


filter()

filter(fn): Group

Defined in: core/Group.ts:304

Filter mobjects in the group.

Parameters

fn

(mobject, index) => boolean

Filter predicate

Returns

Group

New Group with filtered mobjects

Inherited from

Group.filter


flip()

flip(axis): this

Defined in: core/Mobject.ts:225

Parameters

axis

Vector3Tuple = ...

Returns

this

Inherited from

Group.flip


forEach()

forEach(fn): this

Defined in: core/Group.ts:285

Apply a function to each mobject in the group.

Parameters

fn

(mobject, index) => void

Function to apply

Returns

this

this for chaining

Inherited from

Group.forEach


generateTarget()

generateTarget(): Mobject

Defined in: core/Mobject.ts:516

Returns

Mobject

Inherited from

Group.generateTarget


get()

get(index): Mobject

Defined in: core/Group.ts:269

Get a mobject by index.

Parameters

index

number

Index of the mobject

Returns

Mobject

The mobject at the given index, or undefined

Inherited from

Group.get


getArea()

getArea(graph, xRange, options): VMobject

Defined in: mobjects/graphing/Axes.ts:605

Create a filled area between a graph and either the x-axis or another graph.

Parameters

graph

FunctionGraph

The primary graph boundary

xRange

[number, number]

The x interval [start, end]

options

Area options

boundedGraph?

FunctionGraph

color?

string

opacity?

number

strokeWidth?

number

Returns

VMobject

A filled VMobject representing the area


getAxisLabels()

getAxisLabels(xLabelOrOpts?, yLabelArg?): Group

Defined in: mobjects/graphing/Axes.ts:387

Get axis labels ("x" and "y" by default). Labels can be LaTeX strings or pre-built Mobject instances (e.g. Tex, MathTex).

Parameters

xLabelOrOpts?

string | Mobject | { xLabel?: string | Mobject; yLabel?: string | Mobject; }

yLabelArg?

string | Mobject

Returns

Group

A Group containing the two labels


getBottom()

getBottom(): Vector3Tuple

Defined in: core/Mobject.ts:376

Returns

Vector3Tuple

Inherited from

Group.getBottom


getBoundingBox()

getBoundingBox(): object

Defined in: core/Mobject.ts:363

Returns

object

depth

depth: number

height

height: number

width

width: number

Inherited from

Group.getBoundingBox


getBounds()

getBounds(): object

Defined in: core/Mobject.ts:310

Returns

object

max

max: object

max.x

x: number

max.y

y: number

max.z

z: number

min

min: object

min.x

x: number

min.y

y: number

min.z

z: number

Inherited from

Group.getBounds


getCenter()

getCenter(): Vector3Tuple

Defined in: core/Group.ts:86

Get the center of the group (average of all children centers). Children maintain world-space coordinates, so no group position offset is added (shift/moveTo only update children, not group position).

Returns

Vector3Tuple

Center position as [x, y, z]

Inherited from

Group.getCenter


getEdge()

getEdge(direction): Vector3Tuple

Defined in: core/Mobject.ts:370

Parameters

direction

Vector3Tuple

Returns

Vector3Tuple

Inherited from

Group.getEdge


getFamily()

getFamily(): Mobject[]

Defined in: core/Mobject.ts:468

Returns

Mobject[]

Inherited from

Group.getFamily


getGraphLabel()

getGraphLabel(graph, labelOrOptions?, options?): MathTex

Defined in: mobjects/graphing/Axes.ts:440

Get a label for a graph at a specific x-value. Matches Python Manim's axes.get_graph_label() API.

Parameters

graph

FunctionGraph

The FunctionGraph to label

labelOrOptions?

string | { color?: string; direction?: Vector3Tuple; label?: string; xVal?: number; }

options?

Positioning options

color?

string

direction?

Vector3Tuple

label?

string

xVal?

number

Returns

MathTex

A MathTex label positioned near the graph


getLeft()

getLeft(): Vector3Tuple

Defined in: core/Mobject.ts:379

Returns

Vector3Tuple

Inherited from

Group.getLeft


getOrigin()

getOrigin(): Vector3Tuple

Defined in: mobjects/graphing/Axes.ts:345

Get the origin point in visual coordinates

Returns

Vector3Tuple


getRiemannRectangles()

getRiemannRectangles(graph, options): VGroup

Defined in: mobjects/graphing/Axes.ts:534

Create Riemann sum rectangles under a graph.

Parameters

graph

FunctionGraph

The FunctionGraph to approximate

options

Riemann rectangle options

color?

string

dx?

number

fillOpacity?

number

strokeColor?

string

strokeWidth?

number

xRange?

[number, number]

Returns

VGroup

A VGroup of filled rectangles


getRight()

getRight(): Vector3Tuple

Defined in: core/Mobject.ts:382

Returns

Vector3Tuple

Inherited from

Group.getRight


getThreeObject()

getThreeObject(): Object3D

Defined in: core/Mobject.ts:452

Returns

Object3D

Inherited from

Group.getThreeObject


getTop()

getTop(): Vector3Tuple

Defined in: core/Mobject.ts:373

Returns

Vector3Tuple

Inherited from

Group.getTop


getUpdaters()

getUpdaters(): UpdaterFunction[]

Defined in: core/Mobject.ts:493

Returns

UpdaterFunction[]

Inherited from

Group.getUpdaters


getVerticalLine()

getVerticalLine(point, options): VMobject

Defined in: mobjects/graphing/Axes.ts:490

Create a vertical line from the x-axis to a point.

Parameters

point

Vector3Tuple

The target point [x, y, z] in visual coordinates

options

Line options

color?

string

lineFunc?

typeof Line | typeof DashedLine

strokeWidth?

number

Returns

VMobject

A Line from the x-axis to the point


getXAxis()

getXAxis(): NumberLine

Defined in: mobjects/graphing/Axes.ts:293

Get the x-axis NumberLine

Returns

NumberLine


getXLength()

getXLength(): number

Defined in: mobjects/graphing/Axes.ts:331

Get the visual x length

Returns

number


getXRange()

getXRange(): [number, number, number]

Defined in: mobjects/graphing/Axes.ts:307

Get the x range

Returns

[number, number, number]


getYAxis()

getYAxis(): NumberLine

Defined in: mobjects/graphing/Axes.ts:300

Get the y-axis NumberLine

Returns

NumberLine


getYLength()

getYLength(): number

Defined in: mobjects/graphing/Axes.ts:338

Get the visual y length

Returns

number


getYRange()

getYRange(): [number, number, number]

Defined in: mobjects/graphing/Axes.ts:319

Get the y range

Returns

[number, number, number]


hasUpdaters()

hasUpdaters(): boolean

Defined in: core/Mobject.ts:490

Returns

boolean

Inherited from

Group.hasUpdaters


i2gp()

i2gp(x, graph): Vector3Tuple

Defined in: mobjects/graphing/Axes.ts:515

Input to graph point: convert an x value to the visual point on a graph. Shorthand for graph.getPointFromX(x).

Parameters

x

number

The x coordinate in graph space

graph

FunctionGraph

The FunctionGraph

Returns

Vector3Tuple

The visual coordinates on the graph


inputToGraphPoint()

inputToGraphPoint(x, graph): Vector3Tuple

Defined in: mobjects/graphing/Axes.ts:524

Alias for i2gp — convert an x value to the visual point on a graph. Matches Python Manim's axes.input_to_graph_point() API.

Parameters

x

number

graph

FunctionGraph

Returns

Vector3Tuple


map()

map<T>(fn): T[]

Defined in: core/Group.ts:295

Map over all mobjects in the group.

Type Parameters

T

T

Parameters

fn

(mobject, index) => T

Mapping function

Returns

T[]

Array of mapped values

Inherited from

Group.map


moveTo()

moveTo(target, alignedEdge?): this

Defined in: core/Group.ts:127

Move the group center to the given point, or align with another Mobject.

Parameters

target

Target position [x, y, z] or Mobject to align with

Mobject | Vector3Tuple

alignedEdge?

Vector3Tuple

Optional edge direction to align (e.g., UL aligns upper-left edges)

Returns

this

this for chaining

Inherited from

Group.moveTo


moveToAligned()

moveToAligned(target, alignedEdge?): this

Defined in: core/Mobject.ts:355

Parameters

target

Mobject | Vector3Tuple

alignedEdge?

Vector3Tuple

Returns

this

Inherited from

Group.moveToAligned


nextTo()

nextTo(target, direction, buff): this

Defined in: core/Mobject.ts:328

Parameters

target

Mobject | Vector3Tuple

direction

Vector3Tuple = RIGHT

buff

number = 0.25

Returns

this

Inherited from

Group.nextTo


plot()

plot(func, options): FunctionGraph

Defined in: mobjects/graphing/Axes.ts:369

Plot a function on these axes, returning a FunctionGraph.

Parameters

func

(x) => number

Function y = f(x)

options

Partial<Omit<FunctionGraphOptions, "func" | "axes">> = {}

Additional FunctionGraph options (color, strokeWidth, etc.)

Returns

FunctionGraph

A FunctionGraph bound to these axes


plotLineGraph()

plotLineGraph(options): VDict

Defined in: mobjects/graphing/Axes.ts:693

Plot a line graph connecting data points with straight line segments. Returns a VDict with "line_graph" (the connecting line) and "vertex_dots" (dots at each data point).

Matches Python Manim's axes.plot_line_graph() API.

Parameters

options

Line graph options

addVertexDots?

boolean

lineColor?

string

strokeWidth?

number

vertexDotRadius?

number

vertexDotStyle?

{ color?: string; fillOpacity?: number; strokeColor?: string; strokeWidth?: number; }

vertexDotStyle.color?

string

vertexDotStyle.fillOpacity?

number

vertexDotStyle.strokeColor?

string

vertexDotStyle.strokeWidth?

number

xValues

number[]

yValues

number[]

Returns

VDict

A VDict with "line_graph" and "vertex_dots" entries


pointToCoords()

pointToCoords(point): [number, number]

Defined in: mobjects/graphing/Axes.ts:271

Convert visual point coordinates to graph coordinates

Parameters

point

Vector3Tuple

Visual point [x, y, z]

Returns

[number, number]

The graph coordinates [x, y]


prepareForNonlinearTransform()

prepareForNonlinearTransform(numPieces): this

Defined in: core/Mobject.ts:509

Parameters

numPieces

number = 50

Returns

this

Inherited from

Group.prepareForNonlinearTransform


remove()

remove(mobject): this

Defined in: core/Group.ts:56

Remove a mobject from this group.

Parameters

mobject

Mobject

Mobject to remove

Returns

this

this for chaining

Inherited from

Group.remove


removeUpdater()

removeUpdater(updater): this

Defined in: core/Mobject.ts:480

Parameters

updater

UpdaterFunction

Returns

this

Inherited from

Group.removeUpdater


replace()

replace(target, stretch): this

Defined in: core/Mobject.ts:299

Parameters

target

Mobject

stretch

boolean = false

Returns

this

Inherited from

Group.replace


restoreState()

restoreState(): boolean

Defined in: core/Mobject.ts:526

Returns

boolean

Inherited from

Group.restoreState


rotate()

rotate(angle, axisOrOptions?): this

Defined in: core/Group.ts:157

Rotate all children around an axis. Only children are rotated to avoid double-counting with Three.js hierarchy.

Parameters

angle

number

Rotation angle in radians

axisOrOptions?

Vector3Tuple | { aboutPoint?: Vector3Tuple; axis?: Vector3Tuple; }

Returns

this

this for chaining

Inherited from

Group.rotate


rotateAboutOrigin()

rotateAboutOrigin(angle, axis): this

Defined in: core/Mobject.ts:221

Parameters

angle

number

axis

Vector3Tuple = ...

Returns

this

Inherited from

Group.rotateAboutOrigin


saveState()

saveState(): this

Defined in: core/Mobject.ts:521

Returns

this

Inherited from

Group.saveState


scale()

scale(factor): this

Defined in: core/Group.ts:174

Scale all children. Only children are scaled to avoid double-counting with Three.js hierarchy.

Parameters

factor

Scale factor (number for uniform, tuple for non-uniform)

number | Vector3Tuple

Returns

this

this for chaining

Inherited from

Group.scale


setColor()

setColor(color): this

Defined in: core/Group.ts:187

Set the color of all children.

Parameters

color

string

CSS color string

Returns

this

this for chaining

Inherited from

Group.setColor


setFill()

setFill(color?, opacity?): this

Defined in: core/Mobject.ts:165

Parameters

color?

string

opacity?

number

Returns

this

Inherited from

Group.setFill


setFillOpacity()

setFillOpacity(opacity): this

Defined in: core/Group.ts:226

Set the fill opacity of all children.

Parameters

opacity

number

Fill opacity (0-1)

Returns

this

this for chaining

Inherited from

Group.setFillOpacity


setOpacity()

setOpacity(opacity): this

Defined in: core/Group.ts:200

Set the opacity of all children.

Parameters

opacity

number

Opacity value (0-1)

Returns

this

this for chaining

Inherited from

Group.setOpacity


setStrokeWidth()

setStrokeWidth(width): this

Defined in: core/Group.ts:213

Set the stroke width of all children.

Parameters

width

number

Stroke width in pixels

Returns

this

this for chaining

Inherited from

Group.setStrokeWidth


setStyle()

setStyle(style): this

Defined in: core/Mobject.ts:113

Parameters

style

Partial<MobjectStyle>

Returns

this

Inherited from

Group.setStyle


setX()

setX(x): this

Defined in: core/Mobject.ts:385

Parameters

x

number

Returns

this

Inherited from

Group.setX


setY()

setY(y): this

Defined in: core/Mobject.ts:389

Parameters

y

number

Returns

this

Inherited from

Group.setY


setZ()

setZ(z): this

Defined in: core/Mobject.ts:393

Parameters

z

number

Returns

this

Inherited from

Group.setZ


shift()

shift(delta): this

Defined in: core/Group.ts:113

Shift all children by the given delta. Only children are shifted (they maintain world-space coordinates). The group's own position is NOT updated to avoid double-counting when getCenter() computes the average of children centers.

Parameters

delta

Vector3Tuple

Translation vector [x, y, z]

Returns

this

this for chaining

Inherited from

Group.shift


toCorner()

toCorner(direction, buff, frameDimensions?): this

Defined in: core/Mobject.ts:406

Parameters

direction

Vector3Tuple = ...

buff

number = 0.5

frameDimensions?

[number, number]

Returns

this

Inherited from

Group.toCorner


toEdge()

toEdge(direction, buff, frameDimensions?): this

Defined in: core/Mobject.ts:401

Parameters

direction

Vector3Tuple

buff

number = 0.5

frameDimensions?

[number, number]

Returns

this

Inherited from

Group.toEdge


update()

update(dt): void

Defined in: core/Mobject.ts:497

Parameters

dt

number

Returns

void

Inherited from

Group.update