How can I show figures separately?

matplotlib, python

Solution

Sure. Add an `Axes` using `add_subplot`. (Edited `import`.) (Edited `show`.)

import matplotlib.pyplot as plt
f1 = plt.figure()
f2 = plt.figure()
ax1 = f1.add_subplot(111)
ax1.plot(range(0,10))
ax2 = f2.add_subplot(111)
ax2.plot(range(10,20))
plt.show()

Alternatively, use `add_axes`.

ax1 = f1.add_axes([0.1,0.1,0.8,0.8])
ax1.plot(range(0,10))
ax2 = f2.add_axes([0.1,0.1,0.8,0.8])
ax2.plot(range(10,20))

Problem

Say that I have two figures in matplotlib, with one plot per figure: ``` import matplotlib.pyplot as plt f1 = plt.figure() plt.plot(range(0,10)) f2 = plt.figure() plt.plot(range(10,20)) ``` Then I show both in one shot ``` plt.show() ``` Is there a way to show them separately, i.e. to show just `f1`? Or better: how can I manage the figures separately like in the following 'wishful' code (that doesn't work): ``` f1 = plt.figure() f1.plot(range(0,10)) f1.show() ```

Original source

Related problems