Semester 1 / Visualisasi
Animasi Matplotlib
Contoh output visual yang disimpan sebagai GIF lalu ditampilkan di tab browser baru.
allowlisted / safe path
02 / source preview
Read-only code
semester-1/matplotlib_animation.py44 lines / python
import json
from pathlib import Path
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation, PillowWriter
import numpy as np
figure, axis = plt.subplots(figsize=(7, 4))
x_values = np.linspace(0, 2 * np.pi, 160)
line, = axis.plot(x_values, np.sin(x_values), color="#10b981", linewidth=2.5)
axis.set_ylim(-1.25, 1.25)
axis.set_title("Contoh Animasi Matplotlib")
axis.set_xlabel("Sudut (radian)")
axis.set_ylabel("Amplitudo")
axis.grid(alpha=0.2)
def update(frame):
line.set_ydata(np.sin(x_values + frame / 4))
return (line,)
animation = FuncAnimation(figure, update, frames=24, interval=80, blit=True)
output_path = Path("gelombang_matplotlib.gif")
animation.save(output_path, writer=PillowWriter(fps=12))
plt.close(figure)
Path("runner_output.json").write_text(
json.dumps(
{
"artifacts": [
{
"path": output_path.name,
"title": "Animasi Gelombang Matplotlib",
}
]
}
),
encoding="utf-8",
)
print("Animasi Matplotlib selesai dibuat.")
print("Artefak visual siap ditampilkan pada tab output browser.")Program berjalan dari allowlist server; input() tidak didukung. Tidak ada upload, shell command, atau path bebas.
execution terminal
ready$ python allowlisted_program.py
Output terminal dan visual akan dibuka di tab baru ยท batas 30s
stdout
Belum ada output. Jalankan program untuk melihat hasilnya.
โ exit code โ no run yet
id: matplotlib-animationinput(): not supported explicit allowlist