# Flask-Plots
[](https://github.com/juniors90/Flask-Plots/actions)
[](https://codecov.io/gh/juniors90/Flask-Plots)
[](https://flask-plots.readthedocs.io/en/latest/?badge=latest)

[](https://github.com/juniors90/Flask-Plots/blob/main/LICENSE)
[](https://github.com/juniors90/Flask-Plots/network)
[](https://github.com/juniors90/Flask-Plots/stargazers)
[](https://github.com/juniors90/Flask-Plots/issues)
[](https://github.com/psf/black)
[](https://github.com/leliel12/diseno_sci_sfw)
Flask-Plots is a library for creating and rendering static visualizations using [Matplotlib](https://matplotlib.org/stable/index.html) in Python.
## Requirements
Python 3.8+
## Dependecies for this project.
- [matplotlib(>=3.4.0)](https://matplotlib.org/) for plots management
- [Flask(>=2.0.2)](https://flask.palletsprojects.com/en/2.0.x/) for build the backend.
## intallation
You can install via pip:
```cmd
$> pip install Flask-Plots
```
For development, clone the [official github repository](https://github.com/juniors90/Flask-Plots) instead and use:
```cmd
$ git clone git@github.com:juniors90/Flask-Plots.git
$ cd Flask-Plots
$ python3 -m venv venv
$ source venv/bin/activate
(venv) $ pip install -r requirements/dev.txt
```
## Quick start
With Flask-Plots you can instance the ``Plots`` object and document your endpoints.
```python
from flask import Flask, render_template_string
from flask_plots import Plots
import matplotlib
from matplotlib.figure import Figure
import numpy as np
app = Flask(__name__)
plots = Plots(app)
# routes
@app.route("/")
def bar():
# Make data:
countries = ["Argentina", "Brasil", "Colombia", "Chile"]
peoples = [14, 40, 16, 24]
# Plot:
fig = Figure()
ax = fig.subplots()
ax = plots.bar(fig, countries, peoples)
ax.set_title("Bar Chart")
data = plots.get_data(fig)
return render_template_string(
"""
{% from 'plots/utils.html' import render_img %}
{{ render_img(data=data, alt_img='my_img') }}
""",
data=data
)
if __name__ == "__main__":
app.run(port=5000, debug=True)
```
## Links
- [Documentation](https://flask-plots.readthedocs.io)
- [Example Application](https://github.com/juniors90/Flask-Plots/tree/main/sample_app)
- [PyPI Releases](https://pypi.org/project/Flask-Plots/)
- [Changelog](https://github.com/juniors90/Flask-Plots/blob/main/CHANGELOG.rst)
## Authors
- Ferreira, Juan David
Please submit bug reports, suggestions for improvements and patches via
the (E-mail: juandavid9a0@gmail.com).
## Official repository and Issues
- https://github.com/juniors90/flask-Plots
## Acknowledgment
Thank you to Juan B. Cabral, and Martin Chalela for his teachings during [Curso doctoral FAMAF: Diseño de software para cómputo científico](https://github.com/leliel12/diseno_sci_sfw),
from which this library is based.
## License
`Flask-Plots` is free software you can redistribute it and/or modify it
under the terms of the MIT License. For more information, you can see the
[LICENSE](https://github.com/juniors90/Flask-Plots/blob/main/LICENSE) file
for details.