How to save Matplotlib plot to string as SVG
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
)