First of all, I apologies if this question was already asked and answered, I haven't found anything really specific about this so if you did, please share and I will delete this post. What I would like to do is simply generate more separate plots after one another in separate figure in python, because I have an exercise sheet and the a) is to plot a poisson distribution and the b) is to plot a binomial distribution and so ever with c) and d), and I would like that the plots are gathered together in the same script but in separate figure.
I tried as simple as create a sin(x) and a cos(x) plot after one another but it didn't work, the sin and cos were displaying in the same plot.. My code was:
import numpy as np import matplotlib import matplotlib.pyplot as plt fig = plt.figure() ax1 = plt.plot(np.sin(x)) ax2 = plt.plot(np.cos(x)) ax1.set_xlabel('Time (s)') ax1.set_title('sin') ax1.legend() ax2.set_xlabel('Time (s)') ax2.set_title('cos') ax2.legend() plt.show() Could anyone help me ?
1 Answer
How about this?
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 100) fig = plt.figure() ax1 = fig.add_subplot(211) ax2 = fig.add_subplot(212, sharex=ax1) ax1.plot(np.sin(x)) ax2.plot(np.cos(x)) plt.show() I suggest you should read a simple tutorial about subplots.
EDIT: To create separate figures:
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 100) plt.figure() plt.plot(np.sin(x)) plt.figure() plt.plot(np.cos(x)) plt.show() 2