0
我通过putty从Windows 7登录到远程Linux机器。在设置中,我启用了X11转发选项,并在登录到ssh服务器时添加了-X标志。在此服务器上我运行下面的Python代码:Python 2.7.12 Matplotlib x11转发不显示或抛出多个错误
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机器上?
为了测试你的x11转发是否真的有效,你可以用'plt.savefig(“out.png”)'保存你的图形,然后打开它以便用'eog out.png'查看,如果你有“侏儒之眼“在远程计算机上 – mitoRibo
您已要求mpl使用不包含GUI的”Agg“后端。如果你想使用交互式窗口,你需要使用一个GUI连接的后端(例如'Qt4Agg''或''tkagg'')。 – tacaswell