ipython에 표시하지 않고 pylab.savefig 호출
IPython 노트북에 표시하지 않고 파일에 그림을 만들어야합니다. 나는 이와 관련하여 IPython
와 사이의 상호 작용에 대해 명확하지 않습니다 matplotlib.pylab
. 그러나 pylab.savefig("test.png")
현재 그림을 호출 하면 test.png
. 대규모 플롯 파일 세트 생성을 자동화 할 때 이는 종종 바람직하지 않습니다. 또는 다른 앱에 의한 외부 처리를위한 중간 파일이 필요한 경우.
이것이 matplotlib
또는 IPython
노트북 질문 인지 확실하지 않습니다 .
이것은 matplotlib 질문이며, 사용자에게 표시되지 않는 백엔드 (예 : 'Agg')를 사용하여이 문제를 해결할 수 있습니다.
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.savefig('/tmp/test.png')
편집 : 플롯을 표시하는 기능을 잃지 않으려면 대화 형 모드 를 끄고 플롯을 표시 plt.show()
할 준비가되었을 때만 호출 하십시오.
import matplotlib.pyplot as plt
# Turn interactive plotting off
plt.ioff()
# Create a new figure, plot into it, then close it so it never gets displayed
fig = plt.figure()
plt.plot([1,2,3])
plt.savefig('/tmp/test0.png')
plt.close(fig)
# Create a new figure, plot into it, then don't close it so it does get displayed
plt.figure()
plt.plot([1,3,2])
plt.savefig('/tmp/test1.png')
# Display all "open" (non-closed) figures
plt.show()
plt.ioff()
또는 plt.show()
(사용하는 경우) 필요하지 않습니다 %matplotlib inline
. .NET없이 위의 코드를 테스트 할 수 있습니다 plt.ioff()
. plt.close()
필수적인 역할을합니다. 이걸로 해봐:
%matplotlib inline
import pylab as plt
# It doesn't matter you add line below. You can even replace it by 'plt.ion()', but you will see no changes.
## plt.ioff()
# Create a new figure, plot into it, then close it so it never gets displayed
fig = plt.figure()
plt.plot([1,2,3])
plt.savefig('test0.png')
plt.close(fig)
# Create a new figure, plot into it, then don't close it so it does get displayed
fig2 = plt.figure()
plt.plot([1,3,2])
plt.savefig('test1.png')
iPython에서이 코드를 실행하면 두 번째 플롯이 표시 plt.close(fig2)
되고 끝에 추가 하면 아무것도 표시되지 않습니다.
결론적으로 그림을로 닫으면 plt.close(fig)
표시되지 않습니다.
참고 URL : https://stackoverflow.com/questions/15713279/calling-pylab-savefig-without-display-in-ipython
'Program Tip' 카테고리의 다른 글
뮤텍스를 잠그지 않고 pthread_cond_signal 호출 (0) | 2020.10.11 |
---|---|
문자열의 일부 제거 (0) | 2020.10.11 |
TensorFlow에서 Xavier 초기화를 수행하는 방법 (0) | 2020.10.11 |
복사 생성자에서 개인 변수에 액세스 할 수있는 이유는 무엇입니까? (0) | 2020.10.11 |
내 마스터를 이전 커밋으로 변경하려면 어떻게해야합니까? (0) | 2020.10.11 |