使用MPLD3将图表添加到Django项目中。

4

我正在开发一个Django项目,希望从CSV文件中获取数据并将其绘制到使用Django视图/模板构建的页面上。以下是我目前拥有的代码:

import matplotlib.pyplot as plt, mpld3

graph = plt.plot([1,2,3,4])
g = mpld3.fig_to_html(graph)
return HttpResponse(g)

然而,当我运行此代码时,出现错误:
AttributeError: 'list' object has no attribute 'savefig'

有人知道我哪里出错了吗?或者我如何创建图形,可以将其添加到我已经拥有的页面中,而不是MPLD3为您呈现的页面。

2个回答

1

plt.plot返回的是Line2D对象列表,而不是一个图形对象。

你想要做的是:

import matplotlib.pyplot as plt, mpld3
fig = plt.figure()
fid=plt.plot([3,1,4,1,5])
mpld3.save_html(fig,"test.html")
mpld3.fig_to_html(fig,template_type="simple")
mpld3.show()

1

就像写 @hck3r 一样,plt.plot返回的是一个Line2D对象列表,而不是一个图形对象。你需要对你的代码进行一些小修改:

import matplotlib.pyplot as plt, mpld3

fig = plt.figure()
plt.plot([1,2,3,4])
g = mpld3.fig_to_html(fig)
return HttpResponse(g)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接