Gif
The matplotlib Animation Extension
Install / Use
/learn @maxhumber/GifREADME
About
The matplotlib Animation Extension
Install & Import
pip install gif
import gif
Quickstart
import gif
from random import randint
from matplotlib import pyplot as plt
x = [randint(0, 100) for _ in range(100)]
y = [randint(0, 100) for _ in range(100)]
# (Optional) Set the dots per inch resolution to 300
gif.options.matplotlib["dpi"] = 300
# Decorate a plot function with @gif.frame
@gif.frame
def plot(i):
xi = x[i*10:(i+1)*10]
yi = y[i*10:(i+1)*10]
plt.scatter(xi, yi)
plt.xlim((0, 100))
plt.ylim((0, 100))
# Construct "frames"
frames = [plot(i) for i in range(10)]
# Save "frames" to gif with a specified duration (milliseconds) between each frame
gif.save(frames, 'example.gif', duration=50)
Examples
|
|
|
|
| ------------------------------------------------------------ | ------------------------------------------------------ | --------------------------------------------------- |
|
|
|
|
Warning
Altair and Plotly are no longer supported in 22.5.0+
Please use pip install gif==3.0.0 if you still need to interface with these libraries
Related Skills
node-connect
342.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
85.3kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
85.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
342.5kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
