我正在尝试运行一个应该保存3D散点图的小程序,而不是在GUI中打开它。问题是它同时做到了!这是我正在谈论的一段代码:
from matplotlib import pyplot
from scipy import math
from mpl_toolkits.mplot3d import Axes3D
fig = pyplot.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(xPosition, yPosition, zPosition, c = velocity, s = mass)
ax.set_xlim3d(-plotSize, plotSize)
ax.set_ylim3d(-plotSize, plotSize)
ax.set_zlim3d(-plotSize, plotSize)
pyplot.savefig('plot.png')
我非常想知道如何在没有用gui打开情节的情况下获得我的情节的保存图像。
答案 0 :(得分:2)
你应该使用pylab.ioff()作为Saullo Castro的hilghlight,每次你想保存一个数字时使用pylab.savefig('file.png')。当你不需要这个数字时,只需要做一个pylab.close()来关闭当前数字(和空闲内存)。
from matplotlib import pyplot
from mpl_toolkits.mplot3d import Axes3D
pyplot.ioff()
fig = pyplot.figure()
# HERE your code to add things in the figure
pyplot.savefig('file.png')
pyplot.close()