Jak powiedzieć matplotlib, że skończyłem z fabułą?
Poniższy kod zawiera dwa pliki PostScript (. ps) , ale drugi zawiera obie linie.
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")
Jak mogę powiedzieć matplotlib ' owi, żeby zaczął od nowa drugą fabułę?
6 answers
Możesz użyć figure
, aby utworzyć nowy wykres, na przykład, lub użyć close
po pierwszym wykresie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-07 12:04:34
Istnieje polecenie clear figure, które powinno zrobić to za Ciebie:
plt.clf()
Jeśli masz kilka podprogramów na tym samym rysunku
plt.cla()
Czyści bieżące osie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-19 03:05:01
Jak stwierdził David Cournapeau, użyj funkcji figure ().
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")
Lub subplot ( 121) / subplot(122) dla tej samej działki, innej pozycji.
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")
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-12 21:44:36
Wystarczy wpisać plt.hold(False)
przed pierwszym plt.fabuła, i można trzymać się oryginalnego kodu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-22 10:52:09
Jeśli używasz Matplotlib interaktywnie, na przykład w aplikacji internetowej (np.]}
plt.show()
Zamiast plt.close()
lub plt.clf()
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-19 11:17:15
Jeśli żaden z nich nie działa, sprawdź to.. powiedz, Czy masz tablice x i y danych wzdłuż odpowiedniej osi. Następnie sprawdź, w której komórce (jupyter) zainicjalizowałeś X i y na puste. Dzieje się tak dlatego , że być może dodajesz dane do x i y bez ich ponownej inicjalizacji. Plot też ma stare dane. Sprawdź to..
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-10 12:45:53