javascript - Django 使用 mpld3 在 HTML 中渲染 Matplotlib 图表

标签 javascript html django matplotlib mpld3

我正在尝试使用 Django 和 MPLD3/Matplotlib 将 mpld3 图表放入我的 web 应用程序中。如上所述here获取用 python 编写的图形的 HTML 代码应该很简单。

Views.py

def figure(request):

    np.random.seed(9615)

    N = 100
    df = pd.DataFrame((.1 * (np.random.random((N, 5)) - .5)).cumsum(0),
                  columns=['a', 'b', 'c', 'd', 'e'], )

    # plot line + confidence interval
    fig, ax = plt.subplots()
    ax.grid(True, alpha=0.3)

    for key, val in df.iteritems():
        l, = ax.plot(val.index, val.values, label=key)
        ax.fill_between(val.index,
                        val.values * .5, val.values * 1.5,
                        color=l.get_color(), alpha=.4)
    ax.set_xlabel('x')
    ax.set_ylabel('y')
    ax.set_title('Interactive legend', size=20)

    html_fig = mpld3.fig_to_html(fig,template_type='general')
    plt.close(fig)

    return render(request, "dashboard.html", {'active_page' : 'dashboard.html', 'div_figure' : html_fig})

dashboard.html

<div id="fig_container">
                {{ div_figure }}
</div>

据我所知,Python 代码被翻译成 JavaScript,并且应该在views.py 渲染dashboard.html 时执行,对吗?

结果,我得到了在仪表板.hmtl 上显示为文本的 HTML 代码。

问题:如何显示图表?我需要解析 html_to_fig 方法返回的 HTML 字符串吗?

最佳答案

在 html 中尝试一下

<div id="fig_container">
   {{ div_figure|safe }}
</div>

关于javascript - Django 使用 mpld3 在 HTML 中渲染 Matplotlib 图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44924890/

相关文章:

javascript - 如何构建一个 "slides in"的 CSS 动画,在完成滑动后显示一个文本/div?

javascript - 我是否需要在每个模块文件中使用 Promise.promisifyAll() ?

javascript - 如何仅在加载特定元素且位于标记中时调用函数

Django:如何从管理器内部访问模型的实例?

javascript - 在 AngularJS 中实现授权

html - 如何使用中心对齐并在边缘切割的 css 创建固定宽度的圆?

javascript - 网站在旧版 Internet Explorer 中无法正常显示

django - 如何在django View 中访问url路径

django - 当模型有两个具有不同 on_delete 约束的外键时,预期的行为是什么?

javascript - jQuery 无法检测到更新页面的注入(inject)脚本