====== 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)