Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_texture_curve(self):
""" Test texture on mlab.surf """
mlab.figure()
X, Y = numpy.mgrid[-1:1:20j,-1:1:20j]
Z = -numpy.cos(Y*X)+.5
source = mlab.surf(X, Y, Z, color=(1., 1., 1.))
# ensure the figure is closed at the end of the test
self.addCleanup(self.mlab_close_all)
# Apply the texture
self.add_texture(source, "plane")
# Zoom in closer for analysis
mlab.view(67.2, 47, 2.1, [0.22, 0.13, -0.6])
mlab.savefig(self.filename, size=(400, 300))
# Check the saved image (if texture fails, std ~ 10)
self.check_image_std(target_std=150.)
import numpy as np
from mayavi import mlab
x, y = np.mgrid[0:3:1,0:3:1]
s = mlab.surf(x, y, np.asarray(x*0.1, 'd'))
# Produce some nice data.
n_mer, n_long = 6, 11
pi = np.pi
dphi = pi/1000.0
phi = np.arange(0.0, 2*pi + 0.5*dphi, dphi, 'd')
mu = phi*n_mer
x = np.cos(mu)*(1+np.cos(n_long*mu/n_mer)*0.5)
y = np.sin(mu)*(1+np.cos(n_long*mu/n_mer)*0.5)
z = np.sin(n_long*mu/n_mer)*0.5
# View it.
l = mlab.plot3d(x, y, z, np.sin(mu), tube_radius=0.025, colormap='Spectral')
mlab.show()
## 3D-mesh plot
#---------------------------------------------------------------
if self.cmbMode3D.currentText() == 'Mesh':
# fig_mlab = mlab.figure(fgcolor=(0., 0., 0.), bgcolor=(1, 1, 1))
# self.ax3d.set_zlim(0,2)
self.ax3d.plot_wireframe(self.x, self.y, Hmag, rstride=5,
cstride=stride, linewidth=1, color='gray')
#---------------------------------------------------------------
## 3D-surface plot
#---------------------------------------------------------------
# http://stackoverflow.com/questions/28232879/phong-shading-for-shiny-python-3d-surface-plots
elif self.cmbMode3D.currentText() == 'Surf':
if MLAB:
## Mayavi
surf = mlab.surf(self.x, self.y, H_mag, colormap='RdYlBu', warp_scale='auto')
# Change the visualization parameters.
surf.actor.property.interpolation = 'phong'
surf.actor.property.specular = 0.1
surf.actor.property.specular_power = 5
# s = mlab.contour_surf(self.x, self.y, Hmag, contour_z=0)
mlab.show()
else:
if self.chkLighting.isChecked():
ls = LightSource(azdeg=0, altdeg=65) # Create light source object
rgb = ls.shade(Hmag, cmap=cmap) # Shade data, creating an rgb array
cmap_surf = None
else:
rgb = None
cmap_surf = cmap
import zipfile
import numpy as np
data = np.fromstring(zipfile.ZipFile('N36W113.hgt.zip').read('N36W113.hgt'),
'>i2')
data.shape = (3601, 3601)
data = data.astype(np.float32)
# Plot an interesting section #################################################
from mayavi import mlab
data = data[:1000, 900:1900]
# Convert missing values into something more sensible.
data[data == -32768] = data[data > 0].min()
mlab.figure(size=(400, 320), bgcolor=(0.16, 0.28, 0.46))
mlab.surf(data, colormap='gist_earth', warp_scale=0.2,
vmin=1200, vmax=1610)
# The data takes a lot of memory, and the surf command has created a
# copy. We free the inital memory.
del data
# A view of the canyon
mlab.view(-5.9, 83, 570, [5.3, 20, 238])
mlab.show()
if(scale == "linear"):
F_plt = abs(F)
ss = "in linear scale"
elif(scale == "dB"):
F = 20 * np.log10(abs(F))
# cutoff the "F" below some limit ... just for the plotting purpose
F_plt = cutoff(F, dB_limit)
ss = "in dB scale"
# plotting F_plt
if(plot_type):
if(plot_type == "rect"): # rectangular plot
if (mayavi_app): # opens the 3D plot in MayaVi Application
mlab.options.backend = 'envisage'
mlab.figure(fgcolor=fgcolor, bgcolor=bgcolor)
plt3d = mlab.surf(u, v, F_plt, warp_scale='auto')
ranges1 = [u_min, u_max, v_min, v_max, F_plt.min(), F_plt.max()]
mlab.axes(xlabel='u', ylabel='v', zlabel=f1,
ranges=ranges1, nb_labels=5)
mlab.title(n1 + ff + ss, size=0.35)
mlab.colorbar(orientation="vertical", nb_labels=5)
plt3d.scene.isometric_view()
mlab.show()
if(plot_type == "contour"): # contour plot
plt.contourf(u, v, F_plt)
vs = plt.Circle((0, 0), radius=1, edgecolor='w', fill=False)
ax = plt.gca(); ax.add_patch(vs)
plt.axis('image'); plt.grid(True)
plt.xlabel(r'$u,\ \mathrm{where}\ u=\sin \theta \cos \phi\ \mathrm{in}\ \mathrm{the}\ \mathrm{visible-space}$', fontsize=16)
plt.ylabel(r'$v,\ \mathrm{where}\ v=\sin \theta \sin \phi\ \mathrm{in}\ \mathrm{the}\ \mathrm{visible-space}$', fontsize=16)
plt.colorbar(format='$%.2f$')
plt.show()
def render(self, colour=(1, 0, 0), line_width=2, step=None,
marker_style='2darrow', marker_resolution=8, marker_size=0.05,
alpha=1.0):
from mayavi import mlab
warp_scale = kwargs.get('warp_scale', 'auto')
mlab.surf(self.values, warp_scale=warp_scale)
return self
# Probably too slow
#plt.clf()
ax = fig.add_subplot(111, projection='3d')
u_surf = ax.plot_surface(xv, yv, u, alpha=0.3)
#ax.contourf(xv, yv, u, zdir='z', offset=-100, cmap=cm.coolwarm)
#ax.set_zlim(-1, 1)
# Remove old surface before drawing
if u_surf is not None:
ax.collections.remove(u_surf)
plt.draw()
time.sleep(1)
elif plot_method == 4:
# Mayavi visualization
mlab.clf()
extent1 = (0, 20, 0, 20,-2, 2)
s = mlab.surf(x , y, u,
colormap='Blues',
warp_scale=5,extent=extent1)
mlab.axes(s, color=(.7, .7, .7), extent=extent1,
ranges=(0, 10, 0, 10, -1, 1),
xlabel='', ylabel='', zlabel='',
x_axis_visibility=False,
z_axis_visibility=False)
mlab.outline(s, color=(0.7, .7, .7), extent=extent1)
mlab.text(6, -2.5, '', z=-4, width=0.14)
mlab.colorbar(object=None, title=None,
orientation='horizontal',
nb_labels=None, nb_colors=None,
label_fmt=None)
mlab.title('Gaussian t=%g' % t[n])
mlab.view(142, -72, 50)
f = mlab.gcf()