使用 mpld3 HTML 中的 Django 渲染 Matplotlib 图表
Django Rendering Matplotlib chart in HTML using mpld3
我正在尝试使用 Django 和 MPLD3/Matplotlib 将 mpld3 图表 放入我的网络应用程序中。如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>
AFAIK,python 代码被翻译成 javascript 并且应该在 views.py 渲染 dashboard.html 时执行,对吗?
因此,我在 dashboard.hmtl 上以文本形式显示了 HTML 代码。
问题:如何显示图表?我是否需要解析方法 html_to_fig 返回的 HTML 字符串?
在 html
试试这个
<div id="fig_container">
{{ div_figure|safe }}
</div>
我正在尝试使用 Django 和 MPLD3/Matplotlib 将 mpld3 图表 放入我的网络应用程序中。如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>
AFAIK,python 代码被翻译成 javascript 并且应该在 views.py 渲染 dashboard.html 时执行,对吗?
因此,我在 dashboard.hmtl 上以文本形式显示了 HTML 代码。
问题:如何显示图表?我是否需要解析方法 html_to_fig 返回的 HTML 字符串?
在 html
试试这个<div id="fig_container">
{{ div_figure|safe }}
</div>