[python] Matplotlib : 현재 그림을 설정하는 방법은 무엇입니까?

이것은 간단한 질문이지만 지금은 이해할 수 없습니다. matplotlib를 사용하여 2 개의 그림을 표시 한 다음 대화식으로 사용하고 싶습니다. 다음을 사용하여 그림을 만듭니다.

import matplotlib
import pylab as pl

f1 = pl.figure()
f2 = pl.figure()

MATLAB과 유사한 pyplot 인터페이스를 사용하여 두 그림을 모두 플로팅하고 그릴 수 있습니다. 와

current_figure = pl.gcf()

클릭 한 그림에 따라 pyplot 인터페이스의 현재 활성 그림을 결정할 수 있습니다. 이제 pyplot 인터페이스를 사용하여 첫 번째 그림에 무언가를 그리려고하지만 현재 그림은 둘 중 하나 일 수 있습니다. 그래서 뭔가가 있습니까

pl.set_current_figure(figure)

또는 해결 방법? (객체 지향 인터페이스를 사용할 수 있지만 대화 형 작업의 경우 plot (x, y)와 같은 명령을 사용하는 것이 훨씬 더 좋습니다)



답변

다음 f1을 사용하여 그림 을 새 현재 그림으로 간단히 설정할 수 있습니다 .

pl.figure(f1.number)

또 다른 옵션은 그림에 이름 (또는 숫자)을 부여하는 것입니다. 이렇게하면 코드를 더 쉽게 읽을 수 있습니다.

pl.figure("Share values")
# ... some plots ...
pl.figure("Profits")
# ... some plots ...

pl.figure("Share values")  # Selects the first figure again

사실, 그림 “숫자”는 문자열이 될 수 있으며, 이는 단순한 숫자보다 더 분명합니다.

추신 :에 해당하는 플롯은 pylab.figure()입니다 matplotlib.pyplot.figure().


답변

각 그림에 숫자를 부여하십시오.

f1 = pl.figure(1)
f2 = pl.figure(2)
# use f2
pl.figure(1) # make f1 active again


답변