import numpy as np import holoviews as hv hv.extension('matplotlib') y,x = np.mgrid[-5:5, -5:5] * 0.1 heights = np.sin(x**2+y**2) hv.TriSurface((x.flat,y.flat,heights.flat)).opts( azimuth=30, elevation=30, fig_size=200) u=np.linspace(0,2*np.pi, 24) v=np.linspace(-1,1, 8) u,v=np.meshgrid(u,v) u=u.flatten() v=v.flatten() #evaluate the parameterization at the flattened u and v tp=1+0.5*v*np.cos(u/2.) x=tp*np.cos(u) y=tp*np.sin(u) z=0.5*v*np.sin(u/2.) surface = hv.TriSurface((x, y, z), label='Moebius band') surface.opts(cmap='fire', colorbar=True, fig_size=200)