I am trying to learn mayavi2 for python and can not get my savefig to show my plots. I found this example code:

from numpy import pi, sin, cos, mgrid

dphi, dtheta = pi/250.0, pi/250.0
[phi,theta] = mgrid[0:pi+dphi*1.5:dphi,0:2*pi+dtheta*1.5:dtheta]
m0 = 4; m1 = 3; m2 = 2; m3 = 3; m4 = 6; m5 = 2; m6 = 6; m7 = 4;
r = sin(m0*phi)**m1 + cos(m2*phi)**m3 + sin(m4*theta)**m5 + cos(m6*theta)**m7
x = r*sin(phi)*cos(theta)
y = r*cos(phi)
z = r*sin(phi)*sin(theta)

# View it.
from mayavi import mlab
a= mlab.mesh(x, y, z)
mlab.show()

Now I want to save the figure, so I add:

mlab.savefig(filename='test.png')

This saves an all gray image to test.png. What must I do to get the actual image to save?

有帮助吗?

解决方案

This is probably the same issue that results from just using matplotlib, the best option is probably to save before you show.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top