[英]Python 2.7.12 Matplotlib x11 forwarding not showing or throwing multiple errors
我正在通過膩子從Windows 7登錄到遠程Linux機器。 在設置中,我啟用了X11轉發選項,並在登錄ssh服務器時添加了-X標志。 在此服務器上,我運行以下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機器上?
我明白了:
首先,就像“ tcaswell”說的那樣,您不能將'Agg'
后端與交互式窗口一起使用。 僅刪除前兩行代碼即可解決此錯誤。 第二個問題是,通過plt.figure(1)
創建了新的圖形1,但是在plt.show()
中沒有指定應顯示的圖形。 因此,可以通過刪除表示plt.figure(1)
或將要繪制的圖形編號放在plt.show()
后面的方括號內來解決此錯誤: plt.show(1)
。 通過這種方式,可以在一個文件中創建多個圖形並能夠在它們之間切換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.