2013-02-26 5 views
7

Rzeczą, która uniemożliwia mi przejście na cloud9 jest brak wsparcia dla matplotlib, ponieważ wykresy są bardzo ważne dla mojej pracy.Obsługa cloud9 ide i matplotlib lub innego narzędzia graficznego dla Pythona?

Próbowałem zainstalować matplotlib, ale wydaje się, że niektóre problemy z pygtk wydają się być zainstalowane. Czy możliwe jest nawet, aby internetowy serwis wchodził w interakcje z oknami gtk na moim lokalnym komputerze? Być może wykresy mogą być generowane zdalnie i zapisywane w moim katalogu?

Byłoby świetnie, gdyby ktokolwiek z sukcesem udało się to pokazać mi, jak?

+0

Spojrzałbym na backend 'webagg' dla matplotlib. Jest rozwijany, aby grać ładnie z notatnikami 'ipython'. Dopuszczenie strony internetowej do pobrania kontroli poziomu okna wydaje mi się ogromnym problemem związanym z bezpieczeństwem. – tacaswell

Odpowiedz

5

Można zmienić backend z

import matplotlib 
matplotlib.use('Agg') 

a następnie zapisz rysunek korzystając figure.savefig('filename')

+0

Na pytniku Cloud9: 'matplotlib.use ('Agg')' następnie 'import matplotlib.pyplot jako plt' następnie' rys, ax = plt.subplots (1,1) 'powoduje TclError: brak nazwy wyświetlanej i brak $ DISPLAY zmienna środowiskowa –

+0

Ah: 'use()' musi zostać wywołane przed zaimportowaniem 'pyplot'. –

3

Jak wskazuje David Adler, można ustawić backendu non-GUI:

import matplotlib 
matplotlib.use('Agg') 
import matplotlib.pyplot as plt # Do not do this prior to calling use() 

Możesz utworzyć figurę w zwykły sposób, z wyjątkiem zachowania:

fig, ax = plt.subplots(1, 1) 
ax.hist(numpy.random.randn(1000)) 
fig.savefig('display.svg') # Any filename will do 

W Cloud9 możesz otworzyć SVG w zakładce podglądu. Za każdym razem, gdy aktualizujesz i zapisujesz figurę, odśwież kartę podglądu.

Powiązane problemy