Files

28 lines
758 B
Python

from manim import *
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from PIL import Image
import io
def convert_matplotlib_figure_to_image_mobject(fig, dpi=200):
"""Takes a matplotlib figure and makes an image mobject from it
Parameters
----------
fig : matplotlib figure
matplotlib figure
"""
fig.tight_layout(pad=0)
# plt.axis('off')
fig.canvas.draw()
# Save data into a buffer
image_buffer = io.BytesIO()
plt.savefig(image_buffer, format='png', dpi=dpi)
# Reopen in PIL and convert to numpy
image = Image.open(image_buffer)
image = np.array(image)
# Convert it to an image mobject
image_mobject = ImageMobject(image, image_mode="RGB")
return image_mobject