[python] 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의 문서에서 찾아보십시오 .


답변

이것은 실제로 수정하기 쉽고 코딩이 필요하지 않습니다.

1. 콘솔 위의 Plots 탭을 클릭합니다. 2. 그런 다음 플롯 화면의 오른쪽 상단에서 옵션 버튼을 클릭합니다. 3. 마지막으로 “인라인 플로팅 음소거”버튼을 선택 취소합니다.

이제 스크립트를 다시 실행하면 그래프가 콘솔에 표시됩니다.

건배.


답변