2009-11-05 16 views
8

Czy możemy kontrolować, gdzie Matplotlib umieszcza dane na ekranie?Układ wielu figur przy użyciu Matplotlib

Chcę wygenerować cztery cyfry (w czterech osobnych oknach), które się nie nakładają.

+0

Przydałoby się trochę więcej informacji. jaki system operacyjny? Zakładam, że nie wystarczy mieć czterech osi na jednej figurze. Ale dlaczego? Co sprawia, że ​​cztery osobne okna są lepsze? Czy chcesz, aby działki były interaktywne/animowane? – Paul

Odpowiedz

0

Nie używanie show() i samego Matplotlib. Najprostszym rozwiązaniem może być użycie savefig(..) i użycie ulubionej przeglądarki obrazów systemu operacyjnego. Jeśli potrzebujesz interaktywności z działkami, Matplotlib oferuje backends.

0

Najprostszym sposobem, w jaki to zrobię, jest utworzenie okna dla postaci w preferowanej aplikacji GUI, a następnie umieszczenie figury matplotlib w tym oknie. Istnieje kilka przykładów tego, jak to zrobić za pomocą różnych interfejsów GUI: here.

Próbki kodu mogą wyglądać na nieco skomplikowane, ale w większości przypadków to tylko niektóre linie.

8

Od IPython można wykonać następujące czynności:

figure() 
get_current_fig_manager().window.wm_geometry("400x600+20+40") 

Lub równoważnie w skrypcie Pythona:

import pylab as pl 
pl.figure() 
pl.get_current_fig_manager().window.wm_geometry("400x600+20+40") 
pl.show() 

Zauważ, że ten zakłada, że ​​używasz backend TkAgg.

+0

To jest dokładnie to, czego potrzebowałem. Dzięki. Dodałem dwa wiersze przed skryptem, aby uruchomić go na komputerze Mac: >>> import matplotlib; >>> matplotlib.use ('TkAgg') – David

+0

+1: świetnie wiedzieć o (i lepiej niż moja sugestia). – tom10

+2

Jeśli jest to właściwa odpowiedź, zaznacz ją jako zaakceptowaną. –

3

Możliwe jest również użycie interfejsu ipython z backend Qt, aby osiągnąć podobny rezultat:

import matplotlib 
import pylab as pl 
f1 = pl.figure() 
f_manager = pl.get_current_fig_manager() 
f_manager.window.move(600, 600) 
pl.show() 

Z f_manager zasadniczo musisz obiekt PyQt4, który pozwala modyfikować właściwości okna, jak chcesz.

Powiązane problemy