mayavi mlab.savefig() gives an empty image
Asked Answered
C

1

7

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?

Currish answered 14/5, 2013 at 12:48 Comment(0)
D
7

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

Discrepant answered 14/5, 2013 at 13:2 Comment(1)
I can't believe it was that simple ^^Currish

© 2022 - 2024 — McMap. All rights reserved.