此方法接收所需的图形类型、要工作的文件和要绘制的轴
@app.route('/graficar',methods=['POST'])
def graficar():
if request.method == 'POST':
tipo=request.form['tipo']
nombre=request.form['nombre']
sep=request.form['sep']
columnaX=request.form['columnaX']
columnaY=request.form['columnaY']
ruta=request.form['fil']
df =pd.read_csv(ruta, sep=sep )
df=df.head(10)
print(df.head(5))
if tipo=='1':
print('Lineal')
plt.plot(df[columnaX],df[columnaY])
plt.xticks(df[columnaX], rotation=75)
plt.xlabel(columnaX)
plt.ylabel(columnaY)
plt.title(nombre)
plt.show()
plt.savefig('img/Grafica.png' )
return render_template("Grafica.html")
<div class="col-12">
<h3 class="text-center display-2">Gráfica</h3>
<div class="container ">
<img class="img-fluid" src="img/Grafica.png" alt="Chania" />
</div>
</div>
我的建议是不要将文件保存在某处,而是动态创建图像。创建为渲染图像提供服务的endpoint,以及渲染页面模板的endpoint。分离这些将使一切更快、更容易调试和更可读。
看看这个答案,了解如何从烧瓶endpoint返回图像。Python:如何在flask中显示matplotlib
作为其工作原理的快速示例:
main.py
:
import io
import random
from matplotlib.figure import Figure
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from flask import Flask, Response, render_template, request
# Create the app
app = Flask(__name__)
def create_figure(title: str = "", **kwargs) -> Figure:
# Create a plot here...
figure = Figure()
axis = figure.add_subplot(title=title)
xs = range(100)
ys = [random.randint(1, 50) for _ in xs]
axis.plot(xs, ys)
return figure
@app.route("/img/Grafica.png")
def get_image():
# Get the input arguments (e.g. /img/Grafica.png?title=test)
# You can also use request.form here
args = dict(request.args)
# Create the figure or whatever you need to plot
figure = create_figure(**args)
# Create a buffer to hold the PNG
buffer = io.BytesIO()
# Write the figure as PNG to the buffer
FigureCanvas(figure).print_png(buffer)
# Return the binary contents of the buffer, set the mimetype to indicate to the browser that we've send an image
return Response(buffer.getvalue(), mimetype="image/png")
@app.route("/graficar")
def get_graficar():
return render_template("Grafica.html")
if __name__ == "__main__":
app.run(debug=True)
模板/Grafica.html
:
<!doctype html>
<section class="content">
<h1>Graficar</h1>
<img src="/img/Grafica.png?title=My title" />
</section>
问题内容: 我正在使用签名的Java小程序从用户的文件系统加载图像。 然后,我想在运行小程序的网站中显示此图像。 我知道如何在applet和JavaScript之间进行通信,但是我只使用字符串和数字作为参数。 如何处理图像对象,如何在网站上显示它们? 如果需要,我可以在applet中转换格式以匹配JavaScript。 编辑: 我通过JSObject的调用将Image对象从Java传递给了java
我正在从我的数据库中调用一个产品图像url,在前端页面中,我有一些css对页面上的图像进行样式化。但是,我需要将产品图像的url传递到css,它指定了图像的url... 我的CSS: 显示背景图像的产品页面 如果将product-image放在div中,它将呈现产品图像。如何将此url传递到CSS中?所以没有-> -> 我将有 这可能吗?
问题内容: 有没有一种方法可以将html渲染为PNG图片?我知道画布是可能的,但我想呈现例如div之类的标准html元素。 问题答案: 我知道这是一个很老的问题,已经有了很多答案,但是我仍然花了几个小时来尝试做自己想做的事情: 给定一个html文件,从命令行生成具有 透明 背景的(png)图像 使用无头的Chrome(此响应的版本为74.0.3729.157),实际上很容易: 命令说明: 您可以从
我将图像路径(来自图库的图像)存储在SQLite数据库中,现在加载到图像视图中。。。并使用此代码: 和错误: E/BitmapFactory:无法解码流:java.io.FileNotFoundException:/storage/emulated/0/DCIM/Camera/IMG_20161230_224205.jpg(权限被拒绝)
我正在尝试使用意图打开一个图像。我存储中图像的路径是 /storage/emulated/0/nitp/download/logo.png. 我的代码是 我也尝试把文件://存储/仿真/0/nitp/下载/logo.png和内容://存储/仿真/0/nitp/下载/logo.png 我应该走哪条路? 解决了必须使用file:///storage/emulated/0/nitp/downloads/
Activity-2(将所选图像设置为屏幕背景图像的活动)