Table

Qualified name: manim.mobject.table.Table

class Table(table, row_labels=None, col_labels=None, top_left_entry=None, v_buff=0.8, h_buff=1.3, include_outer_lines=False, add_background_rectangles_to_entries=False, entries_background_color='#000000', include_background_rectangle=False, background_rectangle_color='#000000', element_to_mobject=<class 'manim.mobject.svg.text_mobject.Paragraph'>, element_to_mobject_config={}, arrange_in_grid_config={}, line_config={}, **kwargs)[source]

Bases: manim.mobject.types.vectorized_mobject.VGroup

A mobject that displays a table on the screen.

Examples

Example: TableExamples

../_images/TableExamples-2.png
from manim import *

class TableExamples(Scene):
    def construct(self):
        t0 = Table(
            [["This", "is a"],
            ["simple", "Table in \n Manim."]])
        t1 = Table(
            [["This", "is a"],
            ["simple", "Table."]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")])
        t1.add_highlighted_cell((2,2), color=YELLOW)
        t2 = Table(
            [["This", "is a"],
            ["simple", "Table."]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")],
            top_left_entry=Star().scale(0.3),
            include_outer_lines=True,
            arrange_in_grid_config={"cell_alignment": RIGHT})
        t2.add(t2.get_cell((2,2), color=RED))
        t3 = Table(
            [["This", "is a"],
            ["simple", "Table."]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")],
            top_left_entry=Star().scale(0.3),
            include_outer_lines=True,
            line_config={"stroke_width": 1, "color": YELLOW})
        t3.remove(*t3.get_vertical_lines())
        g = Group(
            t0,t1,t2,t3
        ).scale(0.7).arrange_in_grid(buff=1)
        self.add(g)

Example: BackgroundRectanglesExample

../_images/BackgroundRectanglesExample-2.png
from manim import *

class BackgroundRectanglesExample(Scene):
    def construct(self):
        background = Rectangle(height=6.5, width=13)
        background.set_fill(opacity=.5)
        background.set_color([TEAL, RED, YELLOW])
        self.add(background)
        t0 = Table(
            [["This", "is a"],
            ["simple", "Table."]],
            add_background_rectangles_to_entries=True)
        t1 = Table(
            [["This", "is a"],
            ["simple", "Table."]],
            include_background_rectangle=True)
        g = Group(t0, t1).scale(0.7).arrange(buff=0.5)
        self.add(g)
Parameters

Methods

add_background_to_entries

Adds a black BackgroundRectangle to each entry of the table.

add_highlighted_cell

Highlights one cell at a specific position on the table by adding a BackgroundRectangle.

create

Customized create-type function for tables.

get_cell

Returns one specific cell as a rectangular Polygon without the entry.

get_col_labels

Return the column labels of the table.

get_columns

Return columns of the table as a VGroup of VGroup.

get_entries

Return the individual entries of the table (including labels) or one specific entry if the parameter, pos, is set.

get_entries_without_labels

Return the individual entries of the table (without labels) or one specific entry if the parameter, pos, is set.

get_highlighted_cell

Returns a BackgroundRectangle of the cell at the given position.

get_horizontal_lines

Return the horizontal lines of the table.

get_labels

Returns the labels of the table.

get_row_labels

Return the row labels of the table.

get_rows

Return the rows of the table as a VGroup of VGroup.

get_vertical_lines

Return the vertical lines of the table.

scale

Scale the size by a factor.

set_column_colors

Set individual colors for each column of the table.

set_row_colors

Set individual colors for each row of the table.

Attributes

animate

Used to animate the application of any method of self.

animation_overrides

depth

The depth of the mobject.

height

The height of the mobject.

width

The width of the mobject.

add_background_to_entries(color='#000000')[source]

Adds a black BackgroundRectangle to each entry of the table.

Parameters

color (colour.Color) –

Return type

manim.mobject.table.Table

add_highlighted_cell(pos=(1, 1), color='#FFFF00', **kwargs)[source]

Highlights one cell at a specific position on the table by adding a BackgroundRectangle.

Parameters
  • pos (Sequence[int]) – The position of a specific entry on the table. (1,1) being the top left entry of the table.

  • color (colour.Color) – The color used to highlight the cell.

  • kwargs (Any) – Additional arguments to be passed to BackgroundRectangle.

Return type

manim.mobject.table.Table

Examples

Example: AddHighlightedCellExample

../_images/AddHighlightedCellExample-1.png
from manim import *

class AddHighlightedCellExample(Scene):
    def construct(self):
        table = Table(
            [["First", "Second"],
            ["Third","Fourth"]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")])
        table.add_highlighted_cell((2,2), color=GREEN)
        self.add(table)
create(run_time=1, lag_ratio=1, line_animation=<class 'manim.animation.creation.Create'>, label_animation=<class 'manim.animation.creation.Write'>, element_animation=<class 'manim.animation.creation.Create'>, **kwargs)[source]

Customized create-type function for tables.

Parameters
Returns

AnimationGroup containing creation of the lines and of the elements.

Return type

AnimationGroup

Examples

Example: CreateTableExample

from manim import *

class CreateTableExample(Scene):
    def construct(self):
        table = Table(
            [["First", "Second"],
            ["Third","Fourth"]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")],
            include_outer_lines=True)
        self.play(table.create())
        self.wait()
get_cell(pos=(1, 1), **kwargs)[source]

Returns one specific cell as a rectangular Polygon without the entry.

Parameters
  • pos (Sequence[int]) – The position of a specific entry on the table. (1,1) being the top left entry of the table.

  • kwargs (Any) – Additional arguments to be passed to Polygon.

Returns

Polygon mimicking one specific cell of the Table.

Return type

Polygon

Examples

Example: GetCellExample

../_images/GetCellExample-1.png
from manim import *

class GetCellExample(Scene):
    def construct(self):
        table = Table(
            [["First", "Second"],
            ["Third","Fourth"]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")])
        cell = table.get_cell((2,2), color=RED)
        self.add(table, cell)
get_col_labels()[source]

Return the column labels of the table.

Returns

VGroup containing the column labels of the table.

Return type

VGroup

Examples

Example: GetColLabelsExample

../_images/GetColLabelsExample-1.png
from manim import *

class GetColLabelsExample(Scene):
    def construct(self):
        table = Table(
            [["First", "Second"],
            ["Third","Fourth"]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")])
        lab = table.get_col_labels()
        for item in lab:
            item.set_color(random_bright_color())
        self.add(table)
get_columns()[source]

Return columns of the table as a VGroup of VGroup.

Returns

VGroup containing each column in a VGroup.

Return type

VGroup

Examples

Example: GetColumnsExample

../_images/GetColumnsExample-2.png
from manim import *

class GetColumnsExample(Scene):
    def construct(self):
        table = Table(
            [["First", "Second"],
            ["Third","Fourth"]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")])
        table.add(SurroundingRectangle(table.get_columns()[1]))
        self.add(table)
get_entries(pos=None)[source]

Return the individual entries of the table (including labels) or one specific entry if the parameter, pos, is set.

Parameters

pos (Optional[Sequence[int]]) – The position of a specific entry on the table. (1,1) being the top left entry of the table.

Returns

VGroup containing all entries of the table (including labels) or the VMobject at the given position if pos is set.

Return type

Union[VMobject, VGroup]

Examples

Example: GetEntriesExample

../_images/GetEntriesExample-2.png
from manim import *

class GetEntriesExample(Scene):
    def construct(self):
        table = Table(
            [["First", "Second"],
            ["Third","Fourth"]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")])
        ent = table.get_entries()
        for item in ent:
            item.set_color(random_bright_color())
        table.get_entries((2,2)).rotate(PI)
        self.add(table)
get_entries_without_labels(pos=None)[source]

Return the individual entries of the table (without labels) or one specific entry if the parameter, pos, is set.

Parameters

pos (Optional[Sequence[int]]) – The position of a specific entry on the table. (1,1) being the top left entry of the table (without labels).

Returns

VGroup containing all entries of the table (without labels) or the VMobject at the given position if pos is set.

Return type

Union[VMobject, VGroup]

Examples

Example: GetEntriesWithoutLabelsExample

../_images/GetEntriesWithoutLabelsExample-1.png
from manim import *

class GetEntriesWithoutLabelsExample(Scene):
    def construct(self):
        table = Table(
            [["First", "Second"],
            ["Third","Fourth"]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")])
        ent = table.get_entries_without_labels()
        colors = [BLUE, GREEN, YELLOW, RED]
        for k in range(len(colors)):
            ent[k].set_color(colors[k])
        table.get_entries_without_labels((2,2)).rotate(PI)
        self.add(table)
get_highlighted_cell(pos=(1, 1), color='#FFFF00', **kwargs)[source]

Returns a BackgroundRectangle of the cell at the given position.

Parameters
  • pos (Sequence[int]) – The position of a specific entry on the table. (1,1) being the top left entry of the table.

  • color (colour.Color) – The color used to highlight the cell.

  • kwargs (Any) – Additional arguments to be passed to BackgroundRectangle.

Return type

manim.mobject.shape_matchers.BackgroundRectangle

Examples

Example: GetHighlightedCellExample

../_images/GetHighlightedCellExample-1.png
from manim import *

class GetHighlightedCellExample(Scene):
    def construct(self):
        table = Table(
            [["First", "Second"],
            ["Third","Fourth"]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")])
        highlight = table.get_highlighted_cell((2,2), color=GREEN)
        table.add_to_back(highlight)
        self.add(table)
get_horizontal_lines()[source]

Return the horizontal lines of the table.

Returns

VGroup containing all the horizontal lines of the table.

Return type

VGroup

Examples

Example: GetHorizontalLinesExample

../_images/GetHorizontalLinesExample-1.png
from manim import *

class GetHorizontalLinesExample(Scene):
    def construct(self):
        table = Table(
            [["First", "Second"],
            ["Third","Fourth"]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")])
        table.get_horizontal_lines().set_color(RED)
        self.add(table)
get_labels()[source]

Returns the labels of the table.

Returns

VGroup containing all the labels of the table.

Return type

VGroup

Examples

Example: GetLabelsExample

../_images/GetLabelsExample-1.png
from manim import *

class GetLabelsExample(Scene):
    def construct(self):
        table = Table(
            [["First", "Second"],
            ["Third","Fourth"]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")])
        lab = table.get_labels()
        colors = [BLUE, GREEN, YELLOW, RED]
        for k in range(len(colors)):
            lab[k].set_color(colors[k])
        self.add(table)
get_row_labels()[source]

Return the row labels of the table.

Returns

VGroup containing the row labels of the table.

Return type

VGroup

Examples

Example: GetRowLabelsExample

../_images/GetRowLabelsExample-1.png
from manim import *

class GetRowLabelsExample(Scene):
    def construct(self):
        table = Table(
            [["First", "Second"],
            ["Third","Fourth"]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")])
        lab = table.get_row_labels()
        for item in lab:
            item.set_color(random_bright_color())
        self.add(table)
get_rows()[source]

Return the rows of the table as a VGroup of VGroup.

Returns

VGroup containing each row in a VGroup.

Return type

VGroup

Examples

Example: GetRowsExample

../_images/GetRowsExample-2.png
from manim import *

class GetRowsExample(Scene):
    def construct(self):
        table = Table(
            [["First", "Second"],
            ["Third","Fourth"]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")])
        table.add(SurroundingRectangle(table.get_rows()[1]))
        self.add(table)
get_vertical_lines()[source]

Return the vertical lines of the table.

Returns

VGroup containing all the vertical lines of the table.

Return type

VGroup

Examples

Example: GetVerticalLinesExample

../_images/GetVerticalLinesExample-1.png
from manim import *

class GetVerticalLinesExample(Scene):
    def construct(self):
        table = Table(
            [["First", "Second"],
            ["Third","Fourth"]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")])
        table.get_vertical_lines()[0].set_color(RED)
        self.add(table)
scale(scale_factor, **kwargs)[source]

Scale the size by a factor.

Default behavior is to scale about the center of the mobject.

Parameters
  • scale_factor (float) – The scaling factor \(\alpha\). If \(0 < |\alpha| < 1\), the mobject will shrink, and for \(|\alpha| > 1\) it will grow. Furthermore, if \(\alpha < 0\), the mobject is also flipped.

  • kwargs – Additional keyword arguments passed to apply_points_function_about_point().

Returns

self

Return type

Mobject

Examples

Example: MobjectScaleExample

../_images/MobjectScaleExample-2.png
from manim import *

class MobjectScaleExample(Scene):
    def construct(self):
        f1 = Text("F")
        f2 = Text("F").scale(2)
        f3 = Text("F").scale(0.5)
        f4 = Text("F").scale(-1)

        vgroup = VGroup(f1, f2, f3, f4).arrange(6 * RIGHT)
        self.add(vgroup)

See also

move_to()

set_column_colors(*colors)[source]

Set individual colors for each column of the table.

Parameters

colors (Iterable[colour.Color]) – An iterable of colors; each color corresponds to a column.

Return type

manim.mobject.table.Table

Examples

Example: SetColumnColorsExample

../_images/SetColumnColorsExample-2.png
from manim import *

class SetColumnColorsExample(Scene):
    def construct(self):
        table = Table(
            [["First", "Second"],
            ["Third","Fourth"]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")]
        ).set_column_colors([RED,BLUE], GREEN)
        self.add(table)
set_row_colors(*colors)[source]

Set individual colors for each row of the table.

Parameters

colors (Iterable[colour.Color]) – An iterable of colors; each color corresponds to a row.

Return type

manim.mobject.table.Table

Examples

Example: SetRowColorsExample

../_images/SetRowColorsExample-2.png
from manim import *

class SetRowColorsExample(Scene):
    def construct(self):
        table = Table(
            [["First", "Second"],
            ["Third","Fourth"]],
            row_labels=[Text("R1"), Text("R2")],
            col_labels=[Text("C1"), Text("C2")]
        ).set_row_colors([RED,BLUE], GREEN)
        self.add(table)