【亲测有效】Linux/Ubuntu远程服务器使用plt.show没有反应,vscode ssh 远程ubuntu,plt.show不显示图片问题
- plt.show()在linux或者ubuntu系统中不会有显示,这是因为系统没有图形界面。
- 解决方法:保存成png图片然后在程序运行后查看,如下:
plt.show()在linux或者ubuntu系统中不会有显示,这是因为系统没有图形界面。
例如:
from matplotlib import pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfrom mpl_toolkits.mplot3d.art3d import Poly3DCollectionfig = plt.figure()ax = fig.add_subplot(111, projection='3d')mesh = Poly3DCollection(vertices[model.faces], alpha=0.1)face_color = (1.0, 1.0, 0.9)edge_color = (0, 0, 0)mesh.set_edgecolor(edge_color)mesh.set_facecolor(face_color)ax.add_collection3d(mesh)ax.scatter(joints[:, 0], joints[:, 1], joints[:, 2], color='r')ax.view_init(azim=-90, elev=100) # y轴朝上if plot_joints:ax.scatter(joints[:, 0], joints[:, 1], joints[:, 2], alpha=0.1)plt.show()#这里是要保存的路径/home/img_save_folder/和保存文件名Picture.png
例如,我这一段是加载我自己处理的数据时候,然后plt.show(),不可视化出我的图片。
解决方法:保存成png图片然后在程序运行后查看,如下:
只需要使用plt.savefig(savepath)。savepath为你要保存该图到哪个路径,比如下面的’./ok.png’,是一个相对路径,就是将plt.show()的图片保存到当前路径下,名称为ok.png.
from matplotlib import pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfrom mpl_toolkits.mplot3d.art3d import Poly3DCollectionfig = plt.figure()ax = fig.add_subplot(111, projection='3d')mesh = Poly3DCollection(vertices[model.faces], alpha=0.1)face_color = (1.0, 1.0, 0.9)edge_color = (0, 0, 0)mesh.set_edgecolor(edge_color)mesh.set_facecolor(face_color)ax.add_collection3d(mesh)ax.scatter(joints[:, 0], joints[:, 1], joints[:, 2], color='r')ax.view_init(azim=-90, elev=100) # y轴朝上if plot_joints:ax.scatter(joints[:, 0], joints[:, 1], joints[:, 2], alpha=0.1)plt.show()plt.savefig("./outputs_zzk/ok"+".png") # 保存观看plt.close()
如果要同时保存多个图片,为防止覆盖,可以添加plt.close()以及为图片名编号:
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠