Instagram
youtube
Facebook
Twitter

Use Matplotlib Inside Flask or Django

Description:

A Python program that uses Flask to generate and display a matplotlib chart on a webpage.

Code Explanation:

● First, install Flask using the command: pip install flask
from flask import Flask, Response: Used to create the Flask web app and return an image response.
import matplotlib.pyplot as plt: Imports matplotlib for plotting.
import io: Used to temporarily store the plot in memory.
app = Flask(__name__): Initializes the Flask app.
@app.route('/'): Defines the route to handle requests to the root URL.
fig, ax = plt.subplots(): Creates a new figure and axes.
ax.plot(...): Plots a simple line chart with markers.
plt.savefig(...): Saves the chart to an in-memory file.
Response(...): Returns the image as a PNG to be displayed in the browser.
app.run(...): Runs the Flask server.

When you run this script, your terminal will display:

Running on http://127.0.0.1:5000

Open this URL in your browser to view the chart.

 

Program:

from flask import Flask, Response
import matplotlib.pyplot as plt
import io

app = Flask(__name__)

@app.route('/')
def plot():
    # Create a figure
    fig, ax = plt.subplots()
    ax.plot([1, 2, 3, 4], [10, 20, 25, 30], marker='o')
    ax.set_title('Simple Line Plot')
    ax.set_xlabel('X-axis')
    ax.set_ylabel('Y-axis')

    # Save plot to a BytesIO object
    img = io.BytesIO()
    plt.savefig(img, format='png')
    img.seek(0)
    plt.close(fig)

    return Response(img.getvalue(), mimetype='image/png')

if __name__ == '__main__':
    app.run(debug=True)

 

Output: