2017-02-22 1 views
0

pyplot을 사용하여 새 그림을 만들면 화면 왼쪽 상단에 자동으로 열립니다. 나는 다른 위치 (예를 들어, 화면의 오른쪽 상단)에서 열어보고 싶습니다. 나는 기본적으로는하기 matplotlib하기로 원하는 위치를 설정할 수있는 방법이matplotlib 그림의 기본 창 위치는 어떻게 변경합니까?

import matplotlib.pyplot as plt 
plt.figure() # opens on the top left 
(x,y,w,h) = ... # The desired position 
plt.get_current_fig_manager().window.setGeometry(x,y,w,h) 

있습니까 : 사용하여 나중에 위치를 변경 내가 지금까지 해왔입니까? 나는 matplotlibrc 파일을 보았지만 나에게 도움이되는 어떤 것도 발견하지 못했다.

+0

문제는 창의 이동 방법이 다르다는 것입니다. 백엔드. 그래서 나는 이것을하는 일반적인 방법이 있다고 생각하지 않는다. 왜 그것이'matplotlibrc' 파일에 나타나지 않는지. http://stackoverflow.com/questions/7449585/how-do-you-set-the-absolute-position-of-figure-windows-with-matplotlib?rq=1 – tom

+0

을 참조하십시오. 감사합니다.하지만 언급하신 주제는 수동으로 위치를 설정하고 모든 기본 매개 변수로 한 번 설정하고 싶습니다. 이 기본값이 설정되어있는 곳과 그 중 하나를 무시할 수 있는지 여부를 알아야합니다. – user7605211

+0

요점은 모든 백엔드에서 다르게 수행되기 때문에 전역 적으로 무시할 수있는 방법이 없다고 생각합니다. 그러나 행운을 바라며 ... – tom

답변

0

답변 해 주셔서 감사합니다. 나는이 기본값이 파이썬에 의해 제어되지 않는다는 것을 이해한다. 내가 찾은 해결책은 새로운 그림을 열고 올바른 위치로 이동시키는 함수를 정의하는 것입니다. 이 방법은 ipython 콘솔을 열 때마다 함수를 정의하거나 가져와야하지만 이후에는 각 숫자를 이동하지 않아도됩니다.

# in file mymodule.py 
import matplotlib.pyplot as plt 

def newfigure(num=None): 
     hfig = plt.figure(num) 
     plt.get_current_fig_manager().window.setGeometry(x,y,w,h) 
     return hfig 

# in a python script, or in the interactive console: 
import matplotlib.pyplot as plt 
import mymodule as mm 

plt.figure() # Opens where I don't want it to 
mm.newfigure() # Opens at position (x,y) and with width and height (w,h) 
관련 문제