Class: BarChart
Defined in: mobjects/graphing/BarChart.ts:90
BarChart - A bar chart visualization mobject
Creates a bar chart with customizable bars, axes, and labels. Supports both simple bar charts and grouped bar charts for comparing multiple series.
Example
// Simple bar chart
const chart = new BarChart({
values: [3, 7, 2, 5],
xLabels: ['A', 'B', 'C', 'D']
});
// Grouped bar chart comparing two series
const grouped = new BarChart({
values: [[3, 7, 2], [5, 4, 6]],
xLabels: ['Q1', 'Q2', 'Q3'],
seriesNames: ['2023', '2024'],
showLegend: true
});
// Animate value changes
chart.changeBarValues([5, 3, 8, 2]);
Extends
Constructors
Constructor
new BarChart(
options):BarChart
Defined in: mobjects/graphing/BarChart.ts:124
Parameters
options
Returns
BarChart
Overrides
Properties
__savedMobjectState
__savedMobjectState:
unknown=null
Defined in: core/Mobject.ts:82
JSON-serializable saved state (used by restoreState()).
Inherited from
_axisColor
protected_axisColor:string
Defined in: mobjects/graphing/BarChart.ts:115
_barColors
protected_barColors:string[]
Defined in: mobjects/graphing/BarChart.ts:108
_barFillOpacity
protected_barFillOpacity:number
Defined in: mobjects/graphing/BarChart.ts:109
_barGap
protected_barGap:number
Defined in: mobjects/graphing/BarChart.ts:106
_barStrokeWidth
protected_barStrokeWidth:number
Defined in: mobjects/graphing/BarChart.ts:110
_barWidth
protected_barWidth:number
Defined in: mobjects/graphing/BarChart.ts:105
_color
protected_color:string='#ffffff'
Defined in: core/Mobject.ts:57
Inherited from
_dirty
_dirty:
boolean=true
Defined in: core/Mobject.ts:75
Inherited from
_disableChildZLayering
protected_disableChildZLayering:boolean=false
Defined in: core/Mobject.ts:72
When true, children skip the 2D z-layering offset in _syncToThree.
Inherited from
_groupGap
protected_groupGap:number
Defined in: mobjects/graphing/BarChart.ts:107
_height
protected_height:number
Defined in: mobjects/graphing/BarChart.ts:113
_includeYLabels
protected_includeYLabels:boolean
Defined in: mobjects/graphing/BarChart.ts:117
_includeYTicks
protected_includeYTicks:boolean
Defined in: mobjects/graphing/BarChart.ts:116
_opacity
protected_opacity:number=1
Defined in: core/Mobject.ts:68
Inherited from
_seriesNames
protected_seriesNames:string[]
Defined in: mobjects/graphing/BarChart.ts:120
_showLegend
protected_showLegend:boolean
Defined in: mobjects/graphing/BarChart.ts:121
_style
protected_style:MobjectStyle
Defined in: core/Mobject.ts:73
Inherited from
_threeObject
_threeObject:
Object3D<Object3DEventMap> =null
Defined in: core/Mobject.ts:74
Inherited from
_values
protected_values:number[][]
Defined in: mobjects/graphing/BarChart.ts:104
_width
protected_width:number
Defined in: mobjects/graphing/BarChart.ts:114
_xLabelFontSize
protected_xLabelFontSize:number
Defined in: mobjects/graphing/BarChart.ts:118
_xLabelTexts
protected_xLabelTexts:string[]
Defined in: mobjects/graphing/BarChart.ts:111
_yLabelFontSize
protected_yLabelFontSize:number
Defined in: mobjects/graphing/BarChart.ts:119
_yRange
protected_yRange: [number,number,number]
Defined in: mobjects/graphing/BarChart.ts:112
bars
bars:
VGroup
Defined in: mobjects/graphing/BarChart.ts:92
The rectangular bars
children
children:
Mobject[] =[]
Defined in: core/Mobject.ts:52
Inherited from
createdAtBeginning
createdAtBeginning:
boolean=false
Defined in: core/Mobject.ts:56
Inherited from
fillOpacity
fillOpacity:
number=0
Defined in: core/Mobject.ts:70
Inherited from
id
readonlyid:string
Defined in: core/Mobject.ts:50
Inherited from
legend
legend:
VGroup=null
Defined in: mobjects/graphing/BarChart.ts:102
Legend (if enabled)
parent
parent:
Mobject=null
Defined in: core/Mobject.ts:51
Inherited from
position
position:
Vector3
Defined in: core/Mobject.ts:53
Inherited from
rotation
rotation:
Euler
Defined in: core/Mobject.ts:54
Inherited from
savedState
savedState:
Mobject=null
Defined in: core/Mobject.ts:78
Saved mobject copy (used by Restore animation). Set by saveState().
Inherited from
scaleVector
scaleVector:
Vector3
Defined in: core/Mobject.ts:55
Inherited from
strokeWidth
strokeWidth:
number=4
Defined in: core/Mobject.ts:69
Inherited from
targetCopy
targetCopy:
Mobject=null
Defined in: core/Mobject.ts:80
Target copy used by generateTarget() / MoveToTarget animation.
Inherited from
xAxisLine
xAxisLine:
VMobject
Defined in: mobjects/graphing/BarChart.ts:96
X-axis line
xLabels
xLabels:
VGroup
Defined in: mobjects/graphing/BarChart.ts:98
X-axis labels
yAxis
yAxis:
NumberLine
Defined in: mobjects/graphing/BarChart.ts:94
The y-axis (left side)
yLabels
yLabels:
VGroup
Defined in: mobjects/graphing/BarChart.ts:100
Y-axis labels
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
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
isDirty
Get Signature
get isDirty():
boolean
Defined in: core/Mobject.ts:448
Returns
boolean
Inherited from
length
Get Signature
get length():
number
Defined in: core/Group.ts:260
Get the number of mobjects in this group.
Returns
number
Inherited from
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
style
Get Signature
get style():
MobjectStyle
Defined in: core/Mobject.ts:109
Returns
Inherited from
submobjects
Get Signature
get submobjects():
Mobject[]
Defined in: core/Mobject.ts:123
Returns
Mobject[]
Inherited from
Methods
_createCopy()
protected_createCopy():BarChart
Defined in: mobjects/graphing/BarChart.ts:651
Create a copy of this BarChart
Returns
BarChart
Overrides
_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
_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
_getEdgeInDirection()
_getEdgeInDirection(
direction):Vector3Tuple
Defined in: core/Mobject.ts:360
Parameters
direction
Returns
Inherited from
_markDirty()
_markDirty():
void
Defined in: core/Mobject.ts:438
Returns
void
Inherited from
_markDirtyUpward()
_markDirtyUpward():
void
Defined in: core/Mobject.ts:442
Returns
void
Inherited from
_syncMaterialToThree()
protected_syncMaterialToThree():void
Defined in: core/Mobject.ts:436
Returns
void
Inherited from
_syncToThree()
_syncToThree():
void
Defined in: core/Mobject.ts:416
Returns
void
Inherited from
[iterator]()
[iterator]():
Iterator<Mobject>
Defined in: core/Group.ts:276
Iterate over all mobjects in the group.
Returns
Iterator<Mobject>
Inherited from
add()
add(
mobject):this
Defined in: core/Group.ts:31
Add a mobject to this group.
Parameters
mobject
Mobject to add
Returns
this
this for chaining
Inherited from
addUpdater()
addUpdater(
updater,callOnAdd):this
Defined in: core/Mobject.ts:474
Parameters
updater
callOnAdd
boolean = false
Returns
this
Inherited from
alignTo()
alignTo(
target,direction):this
Defined in: core/Mobject.ts:345
Parameters
target
direction
Returns
this
Inherited from
applyFunction()
applyFunction(
fn):this
Defined in: core/Mobject.ts:504
Parameters
fn
(point) => number[]
Returns
this
Inherited from
applyToFamily()
applyToFamily(
func):this
Defined in: core/Mobject.ts:462
Parameters
func
(mobject) => void
Returns
this
Inherited from
become()
become(
other):this
Defined in: core/Mobject.ts:294
Parameters
other
Returns
this
Inherited from
center()
center():
this
Defined in: core/Mobject.ts:397
Returns
this
Inherited from
changeBarValues()
changeBarValues(
newValues):VGroup
Defined in: mobjects/graphing/BarChart.ts:495
Change bar values with animation support
This method updates the bar heights to reflect new values. For animations, use this with a Transform animation.
Parameters
newValues
New values for the bars
number[] | number[][]
Returns
The bars VGroup with updated heights (useful for animations)
Example
// Direct update
chart.changeBarValues([5, 3, 8, 2]);
// With animation (using scene.play)
const newChart = chart.copy();
newChart.changeBarValues([5, 3, 8, 2]);
scene.play(new Transform(chart, newChart));
clear()
clear():
this
Defined in: core/Group.ts:73
Remove all children from this group.
Returns
this
this for chaining
Inherited from
clearUpdaters()
clearUpdaters():
this
Defined in: core/Mobject.ts:486
Returns
this
Inherited from
copy()
copy():
Mobject
Defined in: core/Mobject.ts:276
Returns
Inherited from
dispose()
dispose():
void
Defined in: core/Mobject.ts:532
Returns
void
Inherited from
filter()
filter(
fn):Group
Defined in: core/Group.ts:304
Filter mobjects in the group.
Parameters
fn
(mobject, index) => boolean
Filter predicate
Returns
New Group with filtered mobjects
Inherited from
flip()
flip(
axis):this
Defined in: core/Mobject.ts:225
Parameters
axis
Vector3Tuple = ...
Returns
this
Inherited from
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
generateTarget()
generateTarget():
Mobject
Defined in: core/Mobject.ts:516
Returns
Inherited from
get()
get(
index):Mobject
Defined in: core/Group.ts:269
Get a mobject by index.
Parameters
index
number
Index of the mobject
Returns
The mobject at the given index, or undefined
Inherited from
getBar()
getBar(
groupIndex,seriesIndex):Rectangle
Defined in: mobjects/graphing/BarChart.ts:557
Get a specific bar by group and series index
Parameters
groupIndex
number
The group/category index
seriesIndex
number = 0
The series index (default 0 for single series)
Returns
The Rectangle bar, or undefined if not found
getBottom()
getBottom():
Vector3Tuple
Defined in: core/Mobject.ts:376
Returns
Inherited from
getBoundingBox()
getBoundingBox():
object
Defined in: core/Mobject.ts:363
Returns
object
depth
depth:
number
height
height:
number
width
width:
number
Inherited from
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
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
Center position as [x, y, z]
Inherited from
getEdge()
getEdge(
direction):Vector3Tuple
Defined in: core/Mobject.ts:370
Parameters
direction
Returns
Inherited from
getFamily()
getFamily():
Mobject[]
Defined in: core/Mobject.ts:468
Returns
Mobject[]
Inherited from
getHeight()
getHeight():
number
Defined in: mobjects/graphing/BarChart.ts:581
Get the height of the chart area
Returns
number
getLeft()
getLeft():
Vector3Tuple
Defined in: core/Mobject.ts:379
Returns
Inherited from
getNumGroups()
getNumGroups():
number
Defined in: mobjects/graphing/BarChart.ts:602
Get the number of bar groups
Returns
number
getNumSeries()
getNumSeries():
number
Defined in: mobjects/graphing/BarChart.ts:609
Get the number of series
Returns
number
getRight()
getRight():
Vector3Tuple
Defined in: core/Mobject.ts:382
Returns
Inherited from
getSeriesBars()
getSeriesBars(
seriesIndex):VGroup
Defined in: mobjects/graphing/BarChart.ts:567
Get all bars for a specific series
Parameters
seriesIndex
number
The series index
Returns
VGroup containing the bars for that series
getThreeObject()
getThreeObject():
Object3D
Defined in: core/Mobject.ts:452
Returns
Object3D
Inherited from
getTop()
getTop():
Vector3Tuple
Defined in: core/Mobject.ts:373
Returns
Inherited from
getUpdaters()
getUpdaters():
UpdaterFunction[]
Defined in: core/Mobject.ts:493
Returns
Inherited from
getValues()
getValues():
number[][]
Defined in: mobjects/graphing/BarChart.ts:461
Get the current values
Returns
number[][]
getValuesFlat()
getValuesFlat():
number[]
Defined in: mobjects/graphing/BarChart.ts:468
Get a flat array of values (for single series charts)
Returns
number[]
getWidth()
getWidth():
number
Defined in: mobjects/graphing/BarChart.ts:588
Get the width of the chart area
Returns
number
getYRange()
getYRange(): [
number,number,number]
Defined in: mobjects/graphing/BarChart.ts:595
Get the y-axis range
Returns
[number, number, number]
hasUpdaters()
hasUpdaters():
boolean
Defined in: core/Mobject.ts:490
Returns
boolean
Inherited from
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
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
alignedEdge?
Optional edge direction to align (e.g., UL aligns upper-left edges)
Returns
this
this for chaining
Inherited from
moveToAligned()
moveToAligned(
target,alignedEdge?):this
Defined in: core/Mobject.ts:355
Parameters
target
alignedEdge?
Returns
this
Inherited from
nextTo()
nextTo(
target,direction,buff):this
Defined in: core/Mobject.ts:328
Parameters
target
direction
Vector3Tuple = RIGHT
buff
number = 0.25
Returns
this
Inherited from
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 to remove
Returns
this
this for chaining
Inherited from
removeUpdater()
removeUpdater(
updater):this
Defined in: core/Mobject.ts:480
Parameters
updater
Returns
this
Inherited from
replace()
replace(
target,stretch):this
Defined in: core/Mobject.ts:299
Parameters
target
stretch
boolean = false
Returns
this
Inherited from
restoreState()
restoreState():
boolean
Defined in: core/Mobject.ts:526
Returns
boolean
Inherited from
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
rotateAboutOrigin()
rotateAboutOrigin(
angle,axis):this
Defined in: core/Mobject.ts:221
Parameters
angle
number
axis
Vector3Tuple = ...
Returns
this
Inherited from
saveState()
saveState():
this
Defined in: core/Mobject.ts:521
Returns
this
Inherited from
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
setBarColors()
setBarColors(
colors):this
Defined in: mobjects/graphing/BarChart.ts:618
Set bar colors
Parameters
colors
New colors (single color or array)
string | string[]
Returns
this
this for chaining
setBarFillOpacity()
setBarFillOpacity(
opacity):this
Defined in: mobjects/graphing/BarChart.ts:642
Set bar fill opacity
Parameters
opacity
number
Fill opacity (0-1)
Returns
this
this for chaining
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
setFill()
setFill(
color?,opacity?):this
Defined in: core/Mobject.ts:165
Parameters
color?
string
opacity?
number
Returns
this
Inherited from
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
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
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
setStyle()
setStyle(
style):this
Defined in: core/Mobject.ts:113
Parameters
style
Partial<MobjectStyle>
Returns
this
Inherited from
setX()
setX(
x):this
Defined in: core/Mobject.ts:385
Parameters
x
number
Returns
this
Inherited from
setY()
setY(
y):this
Defined in: core/Mobject.ts:389
Parameters
y
number
Returns
this
Inherited from
setZ()
setZ(
z):this
Defined in: core/Mobject.ts:393
Parameters
z
number
Returns
this
Inherited from
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
Translation vector [x, y, z]
Returns
this
this for chaining
Inherited from
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
toEdge()
toEdge(
direction,buff,frameDimensions?):this
Defined in: core/Mobject.ts:401
Parameters
direction
buff
number = 0.5
frameDimensions?
[number, number]
Returns
this
Inherited from
update()
update(
dt):void
Defined in: core/Mobject.ts:497
Parameters
dt
number
Returns
void