Я вхожу в систему на удаленной Linux-машине из Windows 7 через шпатлевку. В настройках я включил опцию переадресации X11 и добавил флаг -X при входе на сервер ssh. На этом сервере я запускаю следующий код Python:
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import numpy as np
import pyfits
a = raw_input("path: ") #filepath on the server, conected with filename
file = pyfits.open (a +'/file.fits', memap = 'True')
data = file[0].data
print data.shape #shape gets printed correctly
plt.figure(1)
plt.imshow(data[0,:,:], cmap = 'gray')
print 3
plt.show()
print 4
Я получаю все значения печати, и вывод выглядит следующим образом:
(300, 512, 512)
3
4
нет ни ошибки, ни открытого окна x11. Comadoline возвращается, как если бы программа была в конце. Есть ли возможность заставить команду plt.show()
действительно отображаться на машине с удаленным управлением Windows?
plt.savefig("out.png")
, а затем открыть ее для просмотра с помощьюeog out.png
, если у вас есть глаз гнома на удаленной машине. - person mitoRibo   schedule 28.07.2016'Agg'
, которая не включает графический интерфейс. Если вы хотите использовать интерактивные окна, вам нужно будет использовать один из бэкэндов, подключенных к графическому интерфейсу (например,'Qt4Agg'
или'tkagg'
). - person tacaswell   schedule 28.07.2016