Ответ 1
Вы можете использовать figure
для создания нового графика, например, или использовать close
после первого графика.
Следующий код выводит два файла PostScript (.ps), а второй содержит обе строки.
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
plt.subplot(111)
x = [1,10]
y = [30, 1000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("first.ps")
plt.subplot(111)
x = [10,100]
y = [10, 10000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("second.ps")
Как я могу сказать matplotlib начать заново для второго сюжета?
Вы можете использовать figure
для создания нового графика, например, или использовать close
после первого графика.
Существует четкая команда, и она должна сделать это для вас:
plt.clf()
Если у вас несколько подзаголовков на одной фигуре
plt.cla()
очищает текущие оси.
Как указано Дэвидом Курнерау, используйте цифру().
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
plt.figure()
x = [1,10]
y = [30, 1000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("first.ps")
plt.figure()
x = [10,100]
y = [10, 10000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("second.ps")
Или подзаголовок (121)/подзаголовок (122) для одного и того же графика, в другом положении.
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
plt.subplot(121)
x = [1,10]
y = [30, 1000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.subplot(122)
x = [10,100]
y = [10, 10000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("second.ps")
Просто введите plt.hold(False)
перед первым plt.plot, и вы можете придерживаться исходного кода.
Если вы используете интерактивный интерфейс Matplotlib, например, в веб-приложении (например, ipython), возможно, вы ищете
plt.show()
вместо plt.close()
или plt.clf()
.