[python] matplotlib에 플롯이 완료되었음을 어떻게 알 수 있습니까?

다음 코드는 두 개의 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()

현재 축을 지 웁니다.


답변

David Cournapeau에서 언급했듯이 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")

또는 동일한 플롯, 다른 위치에 대해 subplot (121) / subplot (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 전에 입력 하면 원래 코드를 유지할 수 있습니다.


답변

예를 들어 웹 애플리케이션 (예 : ipython)에서 대화식으로 Matplotlib를 사용하는 경우

plt.show()

plt.close()또는 대신 plt.clf().


답변

그들 중 아무것도 작동하지 않으면 이것을 확인하십시오. 각 축을 따라 x 및 y 배열의 데이터가 있는지 말하십시오. 그런 다음 x와 y를 초기화 한 셀 (jupyter)을 비우십시오. 데이터를 다시 초기화하지 않고 x 및 y에 데이터를 추가하고 있기 때문일 수 있습니다. 플롯에는 오래된 데이터가 있습니다. 그러니 확인 해봐 ..


답변