Creating beautiful visualizations in Python

I recently started watching a lot of educational videos on YouTube and was fascinated by the quality of both explanations and the accompanying visualizations. Animations and visual explanations both help keep the attention and also improve my understanding a lot, since I’m definitely a visual learner.

3Blue1Brown is probably one of the most popular channels that features great visuals to explain a large number of interesting concepts of Mathematics and Computer Science. Channel author even created and open-sourced the software that he uses for all animations and put it on GitHub: 3b1b/manim. But apparently it was forked into ManimCommunity/manim, which features an enhanced version of the package with more thorough testing, documentation and better user experience. The community also has active Discord and a bunch of impressive examples.

But what was even more surprising to me is that apparently matplotlib also has animation functionality. Even though I have used matplotlib for a very long time, I have apparently not explored it well enough since it has so many features I had no idea about. I learned about matlotlib animations from a video on Artem Kirsanov’s channel. He explains that he does most of his animations in matlotlib becuase it offers a more low-level API that can be leveraged to create advanced animations.

It’s also quite easy to embed animations into Jupyter notebooks, which is definitely useful. I’m excited to try it all out and get better at visual explanations.