Matplotlib SVG как строка, а не файл - PullRequest
13 голосов
/ 28 марта 2011

Я хотел бы использовать Matplotlib и pyplot для генерации изображения SVG для использования в инфраструктуре Django.на данный момент он генерирует файлы изображений, на которые ссылается страница, но есть ли способ напрямую получить изображение svg в виде строки Unicode без необходимости записи в файловую систему?

1 Ответ

18 голосов
/ 28 марта 2011

Попробуйте использовать StringIO, чтобы избежать записи файловых объектов на диск.

import matplotlib.pyplot as plt
import StringIO
from matplotlib import numpy as np

x = np.arange(0,np.pi*3,.1)
y = np.sin(x)

fig = plt.figure()
plt.plot(x,y)

imgdata = StringIO.StringIO()
fig.savefig(imgdata, format='svg')
imgdata.seek(0)  # rewind the data

svg_dta = imgdata.buf  # this is svg data

file('test.htm', 'w').write(svg_dta)  # test it
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...