【发布时间】:2018-11-16 14:34:41
【问题描述】:
我对 Flask 和 Matplotlib 很陌生。我希望能够显示我在一些 html 中生成的简单图表,但我很难弄清楚如何。这是我的 Python 代码:
from flask import Flask, render_template
import numpy as np
import pandas
import matplotlib.pyplot as plt
app = Flask(__name__)
variables = pandas.read_csv('C:\\path\\to\\variable.csv')
price =variables['price']
@app.route('/test')
def chartTest():
lnprice=np.log(price)
plt.plot(lnprice)
return render_template('untitled1.html', name = plt.show())
if __name__ == '__main__':
app.run(debug = True)
这是我的 HTML:
<!doctype html>
<html>
<body>
<h1>Price Chart</h1>
<p>{{ name }}</p>
<img src={{ name }} alt="Chart" height="42" width="42">
</body>
</html>
【问题讨论】:
-
不幸的是,它并不能简单地以这种方式工作,您需要先将绘图保存为图像/矢量(保存到磁盘或存储在内存中),以便可以在浏览器中加载。这涉及到更多的事情,但您可以先在此处查看如何保存它stackoverflow.com/a/29931148/9802392,然后在此处查看如何从 Flask 提供它stackoverflow.com/questions/20646822/…
-
谢谢,我会好好读一读的。
-
如果您遇到困难,请在此处评论,理想情况下显示您在问题中尝试的一些进展,从 Flask 提供文件有多种解决方案,并且是您的 html 可以显示/到达该文件的先决条件。您的 html 不一定完全错误,您不能只将 Python 对象传递给视图,因此您传递的 {{ name }} 应该是一个 URL。你也希望它在 "" 中。希望你成功。
标签: python matplotlib flask