2012-11-01 19 views
11

Używam Pythona 2.7.2 na Macu 10.8 z matplotlib 1.1.1. Backend, którego używam, to MacOSX. Jeśli uruchomię dowolny kod kreślarski, np.Okno wykresu Matplotlib pojawia się na innym pulpicie

import matplotlib.pyplot as plt 
plt.plot([1,2,3], [4,5,6]) 
plt.show() 

Okno wydruku zawsze pojawia się na innym pulpicie niż ten, nad którym pracuję. To zachowanie jest takie samo, jeśli używam ipython lub gdy uruchamiam skrypt. Czy istnieje sposób obejścia tego? To irytujące, że trzeba iść i polować na fabułę za każdym razem!

+0

Nie rozwiązuje to problemu z innym pulpitem, ale używam ipython, a zwłaszcza ipython-notebook przynajmniej częściowo dla grafiki wbudowanej. Więc nie ma ruchomych okien. –

Odpowiedz

1

Jeśli wcześniej przeniósł go z zarządzaniem pulpicie OSX za Polecenia można naprawić to tak:

prawym przyciskiem myszy (kliknięcie polecenia) w Pythonie ikona Ikona matplotlib w Docku. W Opcjach dostępne są opcje przypisania "aplikacji" do komputerów stacjonarnych. Ustawiony na none. Jeśli nadal otwiera się na innym pulpicie, przenieś go na pulpit, na którym chcesz go włączyć (jednym ze sposobów jest kliknięcie i przytrzymanie nagłówka okna ... naciśnij Ctrl- #, gdzie # jest pulpitem, na którym chcesz go włączyć)

0

Source

import matplotlib 
matplotlib.use("wx") 
from pylab import * 
figure(1) 
plot([1,2,3,4,5]) 
thismanager = get_current_fig_manager() 
thismanager.window.SetPosition((500, 0)) 
show() 

Dla TkAgg, wystarczy zmienić go na adres:

thismanager.window.wm_geometry("+500+0") 
+1

Dzięki za komentarz, ale to nie działa dla mnie. Użyłem wersji TkAgg, ale fabuła nadal pojawia się na innym pulpicie. – emma

+1

Czy próbowałeś zmienić współrzędne? –

+1

Tak. Uruchomiłem tę linię po linii w ipython. Po poleceniu figure (1) komputer przełącza się na pulpit, na którym ma się pojawić wykres. Następnie wracam do miejsca, w którym zacząłem, kończę wpisywać resztę, a następnie fabuła pojawia się na pulpicie, do którego wcześniej przełączono. – emma

0

znalazłem to być bardzo pomocny w rzeczywistości: matplotlib window layout questions

Chociaż wydaje się, że Brian pokonał mnie do tego. Czy sprawdziłeś WXAgg?

>>> import matplotlib 
>>> matplotlib.get_backend() 
'WXAgg' 
Powiązane problemy