Mind maps¶
- class manim_extensions.mindmap.MindMap(map={}, buff=0.2, direction=array([1., 0., 0.]), level_spacing=1.0, node_spacing=0.5, node_style=<manim_extensions.mindmap.nodes.node.NodeStyle object>)[source]¶
Bases:
AbstractMapMind map class: parses mind-map data in the following format and builds the corresponding mind-map object.
Example: MindMapExample ¶
from manim import * from manim_extensions.mindmap import MindMap class MindMapExample(Scene): def construct(self): data = { 'node': MathTex(r"Calculus"), 'child': [ {'node': MathTex(r"Limits")}, {'node': MathTex(r"Derivatives")}, {'node': MathTex(r"Integrals")}, ] } mind_map = MindMap(data) mind_map.scale_to_fit_width(12) self.add(mind_map)
from manim import * from manim_extensions.mindmap import MindMap class MindMapExample(Scene): def construct(self): data = { 'node': MathTex(r"Calculus"), 'child': [ {'node': MathTex(r"Limits")}, {'node': MathTex(r"Derivatives")}, {'node': MathTex(r"Integrals")}, ] } mind_map = MindMap(data) mind_map.scale_to_fit_width(12) self.add(mind_map)
- class manim_extensions.mindmap.StandardMap(map={}, buff=0.2, direction=array([1., 0., 0.]), level_spacing=1.0, node_spacing=0.5, node_style=<manim_extensions.mindmap.nodes.node.NodeStyle object>)[source]¶
Bases:
AbstractMapTwo-sided mind map: data format is the same as
MindMap.- Parameters:
Example: StandardMapDocExample ¶
from manim import * from manim_extensions.mindmap import StandardMap class StandardMapDocExample(Scene): def construct(self): data = { 'node': MathTex(r"Root"), 'child': [ {'node': MathTex(r"Left")}, {'node': MathTex(r"Right")}, ] } mind_map = StandardMap(data) mind_map.scale_to_fit_width(12) self.add(mind_map)
from manim import * from manim_extensions.mindmap import StandardMap class StandardMapDocExample(Scene): def construct(self): data = { 'node': MathTex(r"Root"), 'child': [ {'node': MathTex(r"Left")}, {'node': MathTex(r"Right")}, ] } mind_map = StandardMap(data) mind_map.scale_to_fit_width(12) self.add(mind_map)
- class manim_extensions.mindmap.CatalogMap(map={}, buff=0.2, level_spacing=1.0, node_spacing=0.5, node_style=<manim_extensions.mindmap.nodes.node.NodeStyle object>)[source]¶
Bases:
AbstractMapCatalog / organisation-chart: data format is the same as
MindMap, layout direction is downwards.- Parameters:
Example: CatalogMapDocExample ¶
from manim import * from manim_extensions.mindmap import CatalogMap class CatalogMapDocExample(Scene): def construct(self): data = { 'node': MathTex(r"Company"), 'child': [ {'node': MathTex(r"Engineering")}, {'node': MathTex(r"Sales")}, ] } catalog = CatalogMap(data) catalog.scale_to_fit_width(12) self.add(catalog)
from manim import * from manim_extensions.mindmap import CatalogMap class CatalogMapDocExample(Scene): def construct(self): data = { 'node': MathTex(r"Company"), 'child': [ {'node': MathTex(r"Engineering")}, {'node': MathTex(r"Sales")}, ] } catalog = CatalogMap(data) catalog.scale_to_fit_width(12) self.add(catalog)
- class manim_extensions.mindmap.TimeLine(map={}, buff=0.2, sides=(array([0., 1., 0.]), array([ 0., -1., 0.])), level_spacing=1.0, node_spacing=0.5, node_style=<manim_extensions.mindmap.nodes.node.NodeStyle object>)[source]¶
Bases:
AbstractMapTimeline: data format is the same as
MindMap.- Parameters:
map (
Dict) – timeline databuff (
float) – padding between node content and node bordersides – node layout direction; growth direction of subtrees rooted at second-level nodes
level_spacing (float) – spacing between layers
node_spacing (float) – spacing between nodes
node_style (
NodeStyle) – node style
Example: TimeLineDocExample ¶
from manim import * from manim_extensions.mindmap import TimeLine class TimeLineDocExample(Scene): def construct(self): data = { 'node': MathTex(r"History"), 'child': [ {'node': MathTex(r"2022")}, {'node': MathTex(r"2023")}, {'node': MathTex(r"2024")}, ] } timeline = TimeLine(data) timeline.scale_to_fit_width(12) self.add(timeline)
from manim import * from manim_extensions.mindmap import TimeLine class TimeLineDocExample(Scene): def construct(self): data = { 'node': MathTex(r"History"), 'child': [ {'node': MathTex(r"2022")}, {'node': MathTex(r"2023")}, {'node': MathTex(r"2024")}, ] } timeline = TimeLine(data) timeline.scale_to_fit_width(12) self.add(timeline)