import numpy as np
from mayavi import mlab

def sf_to_cart(fi, theta, r):
	x=r*np.sin(theta)*np.cos(fi)
	y=r*np.sin(theta)*np.sin(fi)
	z=r*np.cos(theta)
	return x,y,z

fi,theta = np.mgrid[0:2*np.pi:120j, 0:np.pi:120j]
r=np.sin(theta)**2*np.cos(theta)**2

x,y,z=sf_to_cart(fi,theta,r)

mlab.mesh(x,y,z, colormap='autumn')

mlab.show()