다음 코드는 두 개의 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에 데이터를 추가하고 있기 때문일 수 있습니다. 플롯에는 오래된 데이터가 있습니다. 그러니 확인 해봐 ..