Time for Action – using matplotlib in Pygame
In this recipe, we take the position coordinates of the previous section and make a graph of them.
- To integrate matplotlib with Pygame, we need to use a non-interactive backend; otherwise matplotlib will present us with a GUI window by default. We will import the main matplotlib module and call the
use()
function. Call this function immediately after importing the main matplotlib module and before importing other matplotlib modules:import matplotlib as mpl mpl.use("Agg")
- We can draw non-interactive plots on a matplotlib canvas. Creating this canvas requires imports, creating a figure and a subplot. Specify the figure to be
3
by3
inches large. More details can be found at the end of this recipe:import matplotlib.pyplot as plt import matplotlib.backends.backend_agg as agg fig = plt.figure(figsize=[3, 3]) ax = fig.add_subplot(111) canvas = agg.FigureCanvasAgg(fig)
- In non-interactive mode, plotting data is a bit more complicated...