Python plt.save保存不同的图像
我有以下代码:Python plt.save保存不同的图像,python,matplotlib,plot,Python,Matplotlib,Plot,我有以下代码: plt.figure() plt.plot(Xu,Yu, 'g>',label='u') plt.plot(Xv,Yv,'r^',label='v') plt.plot(Xc,Yc,'kx',label='p') plt.xlim(-0.2,1.2) plt.ylim(-0.2,1.2) plt.scatter(X,Y) plt.grid() #plt.legend() plt.savefig('Grid.png') 这使得下面的图: 但是,当我在保存的文件夹中打开它时
plt.figure()
plt.plot(Xu,Yu, 'g>',label='u')
plt.plot(Xv,Yv,'r^',label='v')
plt.plot(Xc,Yc,'kx',label='p')
plt.xlim(-0.2,1.2)
plt.ylim(-0.2,1.2)
plt.scatter(X,Y)
plt.grid()
#plt.legend()
plt.savefig('Grid.png')
这使得下面的图:
但是,当我在保存的文件夹中打开它时,图例消失了
注意:如果我不协调图例线,结果相同,保存的图像如下所示:
我能做些什么来准确保存我创建的图像,而不是更改的版本?速度和压力阵列的形状是什么?如果将它们作为行和列的二维数组,则matplotlib将假定每一行都是单独的绘图。作为解决方法,您可以将它们展开为一维数组
plt.plot(Xu.ravel(),Yu.ravel(), 'g>',label='u')
plt.plot(Xv.ravel(),Yv.ravel(),'r^',label='v')
plt.plot(Xc.ravel(),Yc.ravel(),'kx',label='p')
如果这不起作用,您可以更明确地标记前三个速度和压力位置,并抑制其余位置
#Plot first element with labels
plt.plot(Xu.ravel()[0],Yu.ravel()[0], 'g>',label='u')
plt.plot(Xv.ravel()[0],Yv.ravel()[0],'r^',label='v')
plt.plot(Xc.ravel()[0],Yc.ravel()[0],'kx',label='p')
#plot remaining without Legend
plt.plot(Xu.ravel()[1:],Yu.ravel()[1:], 'g>',legend=False)
plt.plot(Xv.ravel()[1:],Yv.ravel()[1:],'r^',legend=False)
plt.plot(Xc.ravel()[1:],Yc.ravel()[1:],'kx',legend=False)
如何在运行时可视化?您是否在ipython笔记本上工作,因为我看不到
plt.show()
这正是您命令的顺序吗?我想你把pyplot
API的状态机搞砸了。@Sque我在Spyder工作