====== Kreslení grafů v Flasku ======
===== 1. =====
import base64
from io import BytesIO
from flask import Flask
from matplotlib.figure import Figure
app = Flask(__name__)
@app.route('/')
def image():
# Generate the figure **without using pyplot**.
fig = Figure()
ax = fig.subplots()
ax.plot([1, 2])
# Save it to a temporary buffer.
buf = BytesIO()
fig.savefig(buf, format="png")
# Embed the result in the html output.
data = base64.b64encode(buf.getbuffer()).decode("ascii")
return f""
if __name__ == '__main__':
app.run(debug=True)
===== 2. =====
import base64
from io import BytesIO
from flask import Flask, Response, render_template, request
import matplotlib as mpl
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
import numpy as np
@app.route('/')
def image():
fig = Figure(figsize=(4,3))
ax = fig.subplots()
x = np.arange(0, 4*np.pi, 0.1)
y = np.sin(x)
ax.plot(x, y)
# Save it to a temporary buffer.
buf = BytesIO()
FigureCanvas(fig).print_png(buf)
return Response(buf.getvalue(), mimetype='image/png')
if __name__ == '__main__':
app.run(debug=True)