Development Tip

Spyder / IPython / matplotlib에서 대화 형 플롯을 다시 얻으려면 어떻게해야합니까?

yourdevel 2020. 10. 4. 13:36
반응형

Spyder / IPython / matplotlib에서 대화 형 플롯을 다시 얻으려면 어떻게해야합니까?


Windows 7 에서 Python (x, y) 2.7.2.3에서 2.7.6.0 으로 업그레이드 했습니다 (그리고 마지막으로 function_name?Object Inspector에서 독 스트링 을 입력 하고 다시 볼 수 있다는 사실에 기뻤 습니다), 이제 플로팅이 제대로 작동하지 않습니다. 사용.

예를 들어 이전에는 (Spyder 2.1.9, IPython 0.10.2, matplotlib 1.2.1) 이 스크립트를 플로팅 할 때 대화 형 창에 하위 플롯을 나란히 플로팅했습니다.

여기에 이미지 설명 입력

이제 (Spyder 2.2.5, IPython 1.2.0, Matplotlib 1.3.1) 내가 그림을 그리려고 할 때 서브 플롯을 작은 인라인 PNG로 수행하며 이는 IPython변경 사항입니다 .

작은 인라인 PNG

그래서 나는 옵션으로 가서 이것을 발견했습니다.

그래픽 옵션

4 개의 서브 플롯이 나란히 표시된 이전 대화식 플롯을 다시 가져올 수 있지만 "자동"으로 전환하여 플롯하려고하면 아무 작업도 수행되지 않습니다. 전혀 플롯이 없습니다.

이 드롭 다운을 Qt로 전환하거나 "지원 활성화"를 선택 취소하면 첫 번째 서브 플롯 또는 일부만 플로팅 한 다음 중지됩니다.

여기에 이미지 설명 입력

상호 작용할 수있는 단일 그림에서 4 개의 병렬 서브 플롯의 이전 동작을 얻으려면 어떻게해야합니까?


백엔드를 자동으로 변경합니다.

도구> 환경 설정> IPython 콘솔> 그래픽> 그래픽 백엔드> 백엔드 : 자동

그런 다음 Spyder를 닫고 엽니 다.


Spyder의 IPython 콘솔에 내장 된 매직 명령 을 입력하여이를 빠르게 제어 할 수 있습니다.이 명령 은 기본 설정 메뉴에서 선택하는 것보다 빠릅니다. 변경 사항은 Spyder 또는 커널을 다시 시작할 필요없이 즉시 적용됩니다.

"자동"(예 : 대화 형) 플롯으로 전환하려면 다음을 입력하십시오.

%matplotlib auto

"인라인"으로 다시 전환하려면 다음을 입력하십시오.

%matplotlib inline

(참고 :이 명령은 비 IPython 콘솔에서 작동하지 않습니다.)

이 주제에 대한 추가 배경보기 : "% matplotlib 인라인"의 목적


적용 후 : 도구> 환경 설정> 그래픽> 백엔드> 자동 커널 다시 시작 여기에 이미지 설명 입력

그리고 당신은 반드시 Interactive Plot을 얻게 될 것입니다. 행복한 코딩!


의견에서 말했듯이 문제는 스크립트에 있습니다. 실제로 두 가지 문제가 있습니다.

  • matplotlib 오류가 있습니다 None. 인수를 어딘가 로 전달하고 있다고 생각합니다 . 아마도 defaultdict 때문일까요?
  • show()각 서브 플롯 후에 호출 합니다. show()스크립트 끝에서 한 번 호출되어야합니다. 대안은 대화식 모드를 사용하는 것입니다 ion. matplotlib의 문서에서 찾아보십시오 .

참고 URL : https://stackoverflow.com/questions/23585126/how-do-i-get-interactive-plots-again-in-spyder-ipython-matplotlib

반응형