Следующий код отображает два файла 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 начать заново для второго сюжета?
python
matplotlib
plot
Стефано Борини
источник
источник
Ответы:
Вы можете использовать
figure
, например, для создания нового графика, или использоватьclose
после первого графика.источник
plt.savefig("first.ps")
?Существует четкая команда, и она должна сделать это за вас:
Если у вас есть несколько участков на одном рисунке
очищает текущие оси.
источник
Как сказано у Дэвида Курнапо, используйте figure ().
Или подзаговор (121) / подзаговор (122) для одного и того же участка, другой позиции.
источник
plt.clf()
, цифры хранятся в памяти, пока явно не закрытыПросто введите
plt.hold(False)
перед первым plt.plot, и вы можете придерживаться своего исходного кода.источник
Если вы используете Matplotlib в интерактивном режиме, например, в веб-приложении (например, ipython), которое вы, возможно, ищете
вместо
plt.close()
илиplt.clf()
.источник
Если ни один из них не работает, проверьте это .. скажем, если у вас есть массивы данных x и y вдоль соответствующей оси. Затем проверьте, в какой ячейке (jupyter) вы инициализировали x и y для очистки. Это потому, что, возможно, вы добавляете данные к x и y без их повторной инициализации. Так что на графике тоже есть старые данные. Так что проверь это ..
источник