Python:保存绘图而不是在 GUI 中打开它

标签 python matplotlib

我正在尝试运行一个小程序来保存我的 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')

我非常想知道如何在不在图形用户界面中打开情节的情况下获取我的情节的保存图像。

最佳答案

您应该使用 pylab.ioff() 作为 Saullo Castro 的亮点,并且每次您想要保存图形时使用 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()

关于Python:保存绘图而不是在 GUI 中打开它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19740698/

相关文章:

python - 在Python中手动编辑转储的pickle文件

python - Matplotlib 刻度标签字体粗细仅限于几个选项

python - 图例中的错误栏- Pandas 栏图

python - 如何使用 pylab 查看 RGB 图像

python - matplotlib 不导入 PyQt4、PyQt5 或 PySide

python - 不在 matplotlib 中绘制 'zero' 或将零更改为无 [Python]

python - 拆分 Pandas 列中的 float 列表后获取完整的小数位精度

python - 我需要一个锁 block 来迭代共享列表吗?

python - 如何在没有索引的情况下将 Pandas 数据帧打印到 Latex?

Python - 在 Lambda 中使用打印/调试语句