How to update a plot in Matplotlib
In this post, we will see how we update a plot in Matplotlib. In matplotlib
, updating a plot means erasing all the previous data and entering new data. This process goes in a loop. We have already discussed plotting in Matplotlib. We now just have to erase the previous data and enter new data and the same thing is in the loop.
Importing Libraries:
import matplotlib.pyplot as plt import numpy as np
After importing all the necessary libraries, we will now plot a graph using the following code.
x = np.linspace(0, 20*np.pi, 100) y = np.cos(x)
Now we will turn On the interactive plot using plt.ion()
. To turn off the interactive plot we use plt.ioff()
.
Now let us construct the graph using the following code:
figure = plt.figure() ax = figure.add_subplot(111) line_of_graph, = ax.plot(x, y, 'r-')
After the construction of the code, we want the code to work on a loop. We will use the For loop for the action.
for phase in np.linspace(0, 20*np.pi, 100): line_of_graph.set_ydata(np.cos(0.5 * x + phase)) figure.canvas.draw() figure.canvas.flush_events()
The variable x represents the x-axis. The y variable represents the y-axis. Take the cosine graph, for instance.
The figure.canvas.draw(
)
method in python allows us to redraw the same figure.
The figure.canvas.flush_events()
method creates a new figure.
The complete code To update the plot in Matplotlib:
import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 20*np.pi, 100) y = np.cos(x) plt.ion() figure = plt.figure() ax = figure.add_subplot(111) line_of_graph, = ax.plot(x, y, 'r-') for phase in np.linspace(0, 20*np.pi, 100): line_of_graph.set_ydata(np.cos(0.5 * x + phase)) figure.canvas.draw() figure.canvas.flush_events()
Output:
The output will be in a loop and the graph will vary according to the inputs taken by the user.
With this, we have concluded our tutorial. Learn, to create a pie chart using the Matplotlib library in Python.
Leave a Reply