簡體   English   中英

Python 2.7.12 Matplotlib x11轉發未顯示或引發多個錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM