我想创建一个表面图而不实际显示它。我只想将图形导出到PNG。这是相关代码:
import numpy
from matplotlib import pyplot, cm
from mpl_toolkits.mplot3d import Axes3D
from pylab import figure, axes, pie, title, show
fig = pyplot.figure(figsize=(11, 7), dpi=100)
ax = fig.gca(projection='3d')
ax.set_xlim(0, 2)
ax.set_ylim(0, 1)
ax.view_init(30, 225)
ax.set_xlabel('$x$')
ax.set_ylabel('$y$')
X, Y = numpy.meshgrid(x, y)
surf = ax.plot_surface(X, Y, p[:], rstride=1, cstride=1, cmap=cm.viridis, linewidth=0, antialiased=False)
pyplot.pause(.001)
pyplot.savefig("images/blah" + str(counter)+".png")
请注意,变量都很好,并且没有错误(这是很多数学运算,因此为了便于阅读,我将其剪切掉了),我只是想出了如何在不显示图形本身的情况下导出为PNG的方法。 / p>