【发布时间】:2018-05-28 17:01:40
【问题描述】:
我正在尝试以 HTML 格式呈现 seaboard 图表并使其与用户交互。基本上,它是一个 regplot,默认情况下将显示 SQL 查询中提取的所有数据。 然后,用户可以从下拉列表中输入某个项目,我想重新运行查询并绘制相同的图表,但仅针对所选项目。
我的问题是初始查询(显示全部)有效,但是在选择新项目时,新数据会添加到旧数据中。如果我选择了一个附加项目,这也会被添加......不会单独显示。见附图。
我的理解是 PandasDataframe 不会在查询之间“丢弃”数据(只有在我重新启动程序时才会重置)。我尝试了各种 Pandas - 内存管理选项,但我无法让它们中的任何一个工作。
感谢您的帮助
代码:
@app.route('/bikeplot1')
def brandstatsinputs():
plt.ion()
fig = Figure()
brandstatsx = request.args.get('Brandstats','')
try:
tabledata = DB.brandstats_inputs(brandstatsx)
except Exception as e:
print(e)
tabledata = None
df=pd.DataFrame(tabledata)
sns.regplot(x="Bore", y="Stroke", data=df, scatter_kws={'alpha':0.5})
### Saving plot to disk in png format
plt.savefig('Static/square_plot.png')
### Rendering Plot in Html
figfile = io.BytesIO()
plt.savefig(figfile, format='png')
figfile.seek(0)
figdata_png = base64.b64encode(figfile.getvalue())
result = str(figdata_png)[2:-1]
return render_template('airline.html', result=result, tabledata=tabledata)
【问题讨论】: