import numpy as np import holoviews as hv from holoviews import opts hv.extension('matplotlib')
Surface is used for a set of gridded points whose associated value dimension represents samples from a continuous surface.
Surface is equivalent to an
Image type and supports all the same data formats, including simply NumPy arrays with associated
bounds and other gridded data formats such as xarray.
Rendering a large can often be quite expensive, using
cstride we can draw a coarser surface. We can also control the
distance as plot options to control the camera angle:
surface = hv.Surface(np.sin(np.linspace(0,100*np.pi*2,10000)).reshape(100,100)) surface.opts(opts.Surface(azimuth=30, elevation=30, rstride=20, cstride=2, cmap='plasma'))
In addition to a simple surface plots, the matplotlib surface plot also supports other related
plot_type modes including
xs = np.arange(-4, 4, 0.25) ys = np.arange(-4, 4, 0.25) X, Y = np.meshgrid(xs, ys) R = np.sqrt(X**2 + Y**2) Z = np.sin(R) surface = hv.Surface((xs, ys, Z), label='Surface') wireframe = surface.relabel('Wireframe').opts(plot_type='wireframe') contour = surface.relabel('Contour').opts(plot_type='contour') (surface + wireframe + contour).opts( opts.Layout(fig_size=150, hspace=0.1), opts.Surface(azimuth=60, cmap='fire'))
For full documentation and the available style and plot options, use