STATANIM is a powerful Manim extension designed for creating animated statistical visualizations effortlessly. Whether demonstrating probability distributions or regression analyses, this tool simplifies complex statistical concepts through intuitive animations, allowing for quick transitions from ideas to engaging presentations without getting lost in code.
STATANIM is a powerful extension for Manim designed to create animated statistical visualizations with ease. This project simplifies the process of animating various statistical concepts, including distributions, regression, probability theory, and more. Unlike vanilla Manim, which often requires extensive code for statistical animations, STATANIM provides built-in objects that inherently understand their statistical representations, allowing users to focus on conveying their ideas effectively.
Key Features
- Statistical Visualizations: Easily create animations for various statistical concepts such as normal distribution, probability trees, and sampling techniques.
- Intuitive Workflow: Users can transition from conceptual design to animated representation in a matter of minutes, streamlining the process of creating educational materials or explainer videos.
- Diverse Modules: STATANIM includes a variety of modules, each geared towards different statistical topics:
- Distributions: Implement animations for Normal, Binomial, Poisson, and other distributions.
- Charts: Create 3D representations including Bar Charts, Histograms, and Scatter Plots.
- Probability: Visualize events and conditional probabilities using tools like Sample Spaces and Venn Diagrams.
- Inference: Illustrate hypothesis testing and confidence intervals with advanced visualization tools.
- Regression Analysis: Animate regression planes, scatter clouds, and diagnostic visuals.
- Physical Props: Utilize 3D models of cards, coins, and dice for illustrative probability scenarios.
Quick Start Examples
STATANIM allows for quick implementations of complex animations. Here are a couple of examples:
from manim import *
from statanim.distributions.normal3d import NormalCurve3D
class NormalDemo(Scene):
def construct(self):
curve = NormalCurve3D(mu=0, sigma=1)
self.play(Create(curve))
self.play(FadeIn(curve.shade_region(x_lo=-1, x_hi=1)))
self.wait(2)
from manim import *
from statanim.props.card import Deck3D, CardFacing, standard_deck
class CardDraw(Scene):
def construct(self):
deck = Deck3D(cards=standard_deck(shuffle=True, seed=0),
initial_facing=CardFacing.FACE_DOWN)
deck.move_to(LEFT * 3)
self.play(FadeIn(deck))
self.play(deck.deal_one(target=RIGHT * 2, flip=True))
self.wait(2)
Visual Demos
To see STATANIM in action, explore the following animations:
- Sample Space:

- Classical Probability:

- Conditional Probability:

- Hypergeometric Distribution:

- Birthday Paradox:

Resources
For detailed usage and comprehensive documentation, refer to the API_REFERENCE.md.
Community Contribution
Contributions are encouraged! Engage with the community by reporting issues or submitting pull requests on GitHub: github.com/rishabhbhartiya/statanim.
Built on the foundation of the Manim Community, with algorithms sourced from SciPy and NumPy, STATANIM is inspired by the impactful animation work of 3Blue1Brown.
No comments yet.
Sign in to be the first to comment.