matplotlib-将图像存储在变量中
我想将生成的图像存储matplotlib
在变量中,raw_data
以将其用作嵌入式图像。
import osimport sys
os.environ['MPLCONFIGDIR'] = '/tmp/'
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
print "Content-type: image/png\n"
plt.plot(range(10, 20))
raw_data = plt.show()
if raw_data:
uri = 'data:image/png;base64,' + urllib.quote(base64.b64encode(raw_data))
print '<img src = "%s"/>' % uri
else:
print "No data"
#plt.savefig(sys.stdout, format='png')
这些功能都不适合我的用例:
plt.savefig(sys.stdout, format='png')
-将其写入标准输出。这确实有帮助..因为我必须将图像嵌入html文件中。plt.show()
/plt.draw()
从命令行执行时不执行任何操作
回答:
您尝试过cStringIO
还是等效的?
import osimport sys
import matplotlib
import matplotlib.pyplot as plt
import StringIO
import urllib, base64
plt.plot(range(10, 20))
fig = plt.gcf()
imgdata = StringIO.StringIO()
fig.savefig(imgdata, format='png')
imgdata.seek(0) # rewind the data
print "Content-type: image/png\n"
uri = 'data:image/png;base64,' + urllib.quote(base64.b64encode(imgdata.buf))
print '<img src = "%s"/>' % uri
以上是 matplotlib-将图像存储在变量中 的全部内容, 来源链接: utcz.com/qa/401072.html