如果使用vscode连接了linux服务器,则执行如下代码时,无法显示画图弹出框:
import matplotlib
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
img = Image.open('pred.png')
plt.imshow(img)
plt.show()
x = np.arange(0, 3 * np.pi, 0.1)
y_sin = np.sin(x)
plt.plot(x, y_sin)
plt.show()
命令行提示如下:
(base) liguanlin@opt48:/mnt/liguanlin/Projects/lowlight_enhancement$ /home/liguanlin/miniconda3/bin/python /mnt/liguanlin/Projects/lowlight_enhancement/showImg.py
No protocol specified
qt.qpa.screen: QXcbConnection: Could not connect to display :0.0
Could not connect to any X display.
同时会有如下弹出框:
出现这个问题,解决方法是安装一个xmanager:
可以按照如下连接按照:
弯月五星:装Xmanager,连接Linux终端zhuanlan.zhihu.com安装之后正常显示上述代码中的图片。但是是交互式的,点击图片之后才会继续运行程序,不方便。
这里提供一个替代方法:
可以将需要画图的代码copy到一个jupyter notebook文件中,在linux服务器上启动jupyter notebook,然后在windows上打开这个网址,运行notebook,matplotlib的画图就会正常显示。这样就可以连续显示。
还有一个方法是使用visdom,后面有了实验结果再贴出来。