工作申请:用户在/ showgraph路径中输入x和y值 - > matplotlib生成在相同路由中显示的图。
这里是类似我的问题的代码部分:
HTML:
...
{% if buttonclick[0]=="Show Graph" %}
{% endif %}
...
的Python(使用瓶)
@app.route('/fig/', methods=['GET', 'POST'])
def fig(val):
import matplotlib.pyplot as plt
import StringIO
import ast
val=ast.literal_eval(str(val))
x=[float(i) for i in val[0][0].strip('[]').split(',')]
y=[float(i) for i in val[1][0].strip('[]').split(',')]
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.plot(x,y)
img = StringIO.StringIO()
fig.savefig(img)
img.seek(0)
return send_file(img, mimetype='image/png')
@app.route('/showgraph/',methods=['GET','POST'])
def showgraph():
valx=(request.form.getlist('valx'))
valy=(request.form.getlist('valy'))
val='('+str(valx)+','+str(valy)+')'
buttοnclick=request.form.getlist('showgraph')
return render_template("graphs.html",buttοnclick=buttonclick,val=val)
现在,当我输入一些x和y值(例如,x = [1,2,3]和y = [3,2,1]),页面首先显示alt(“图像占位符”),然后显示5或显示图像(图形)6秒钟。
有没有办法来克服这个问题,只显示加载消息,gif,..?
(我还在工作更高效,更清洁的方法,使输入值的数组。我能想象这种方法可能看上去有点狡猾一些。)
谢谢!
2015-02-09
Baekel