渲染新的图形数据会添加新图形,而不是替换现有图形

时间:2015-05-26 21:20:00

标签: javascript jquery d3.js flask

我正在使用Flask构建D3可视化,并使用JQuery和D3从表单请求用户数据。

$('form').submit(function(e) {
    e.preventDefault();
    d3.json("{{ url_for('crew') }}")
        .header('Content-Type', 'application/x-www-form-urlencoded')
        .post($(this).serialize(), function(error, graph) {

当用户选择数据并按“提交”时,会显示一个图表。问题是,当再次按下提交时,另一个图形将显示在旧图形的顶部。我需要在重新提交表单之前刷新。

@app.route('/crew', methods=['GET', 'POST'])
def crew():
    form = CrewForm()

    if form.validate_on_submit():
        return current_app.send_static_file(os.path.join('crews/', form.filename.data))

    return render_template('Crew.html', form=form)

1 个答案:

答案 0 :(得分:2)

json回调方法中,使用jQueryd3方法清除上一个图表。看一下它可能对你有用的链接。 NVD3, Clear svg before loading new chart