You can use StringIO
to save a Matplotlib plot to a string without saving it to an intermediary file:
from matplotlib import pyplot as plt plt.plot([0, 1], [2, 3]) # Just a minimal showcase # Save plot to StringIO from io import StringIO i = StringIO() plt.savefig(i, format="svg") # How to access the string print(i.getvalue())
Note that unless you save to a file you need to set the format=...
parameter when calling plt.savefig()
. If saving to a file, Matplotlib will try to derive the format from the filename extension (like .svg
)