plotly.figure_factory.create_trisurf

plotly.figure_factory.create_trisurf(x, y, z, simplices, colormap=None, show_colorbar=True, scale=None, color_func=None, title='Trisurf Plot', plot_edges=True, showbackground=True, backgroundcolor='rgb(230, 230, 230)', gridcolor='rgb(255, 255, 255)', zerolinecolor='rgb(255, 255, 255)', edges_color='rgb(50, 50, 50)', height=800, width=800, aspectratio=None)

Returns figure for a triangulated surface plot

Parameters
  • x ((array)) – data values of x in a 1D array

  • y ((array)) – data values of y in a 1D array

  • z ((array)) – data values of z in a 1D array

  • simplices ((array)) – an array of shape (ntri, 3) where ntri is the number of triangles in the triangularization. Each row of the array contains the indicies of the verticies of each triangle

  • colormap ((str|tuple|list)) – either a plotly scale name, an rgb or hex color, a color tuple or a list of colors. An rgb color is of the form ‘rgb(x, y, z)’ where x, y, z belong to the interval [0, 255] and a color tuple is a tuple of the form (a, b, c) where a, b and c belong to [0, 1]. If colormap is a list, it must contain the valid color types aforementioned as its members

  • show_colorbar ((bool)) – determines if colorbar is visible

  • scale ((list|array)) – sets the scale values to be used if a non- linearly interpolated colormap is desired. If left as None, a linear interpolation between the colors will be excecuted

  • color_func ((function|list)) – The parameter that determines the coloring of the surface. Takes either a function with 3 arguments x, y, z or a list/array of color values the same length as simplices. If None, coloring will only depend on the z axis

  • title ((str)) – title of the plot

  • plot_edges ((bool)) – determines if the triangles on the trisurf are visible

  • showbackground ((bool)) – makes background in plot visible

  • backgroundcolor ((str)) – color of background. Takes a string of the form ‘rgb(x,y,z)’ x,y,z are between 0 and 255 inclusive

  • gridcolor ((str)) – color of the gridlines besides the axes. Takes a string of the form ‘rgb(x,y,z)’ x,y,z are between 0 and 255 inclusive

  • zerolinecolor ((str)) – color of the axes. Takes a string of the form ‘rgb(x,y,z)’ x,y,z are between 0 and 255 inclusive

  • edges_color ((str)) – color of the edges, if plot_edges is True

  • height ((int|float)) – the height of the plot (in pixels)

  • width ((int|float)) – the width of the plot (in pixels)

  • aspectratio ((dict)) – a dictionary of the aspect ratio values for the x, y and z axes. ‘x’, ‘y’ and ‘z’ take (int|float) values

Example 1: Sphere

>>> # Necessary Imports for Trisurf
>>> import numpy as np
>>> from scipy.spatial import Delaunay
>>> from plotly.figure_factory import create_trisurf
>>> from plotly.graph_objects import graph_objects
>>> # Make data for plot
>>> u = np.linspace(0, 2*np.pi, 20)
>>> v = np.linspace(0, np.pi, 20)
>>> u,v = np.meshgrid(u,v)
>>> u = u.flatten()
>>> v = v.flatten()
>>> x = np.sin(v)*np.cos(u)
>>> y = np.sin(v)*np.sin(u)
>>> z = np.cos(v)
>>> points2D = np.vstack([u,v]).T
>>> tri = Delaunay(points2D)
>>> simplices = tri.simplices
>>> # Create a figure
>>> fig1 = create_trisurf(x=x, y=y, z=z, colormap="Rainbow",
...                       simplices=simplices)

Example 2: Torus

>>> # Necessary Imports for Trisurf
>>> import numpy as np
>>> from scipy.spatial import Delaunay
>>> from plotly.figure_factory import create_trisurf
>>> from plotly.graph_objects import graph_objects
>>> # Make data for plot
>>> u = np.linspace(0, 2*np.pi, 20)
>>> v = np.linspace(0, 2*np.pi, 20)
>>> u,v = np.meshgrid(u,v)
>>> u = u.flatten()
>>> v = v.flatten()
>>> x = (3 + (np.cos(v)))*np.cos(u)
>>> y = (3 + (np.cos(v)))*np.sin(u)
>>> z = np.sin(v)
>>> points2D = np.vstack([u,v]).T
>>> tri = Delaunay(points2D)
>>> simplices = tri.simplices
>>> # Create a figure
>>> fig1 = create_trisurf(x=x, y=y, z=z, colormap="Viridis",
...                       simplices=simplices)

Example 3: Mobius Band

>>> # Necessary Imports for Trisurf
>>> import numpy as np
>>> from scipy.spatial import Delaunay
>>> from plotly.figure_factory import create_trisurf
>>> from plotly.graph_objects import graph_objects
>>> # Make data for plot
>>> 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()
>>> 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.)
>>> points2D = np.vstack([u,v]).T
>>> tri = Delaunay(points2D)
>>> simplices = tri.simplices
>>> # Create a figure
>>> fig1 = create_trisurf(x=x, y=y, z=z, colormap=[(0.2, 0.4, 0.6), (1, 1, 1)],
...                       simplices=simplices)

Example 4: Using a Custom Colormap Function with Light Cone

>>> # Necessary Imports for Trisurf
>>> import numpy as np
>>> from scipy.spatial import Delaunay
>>> from plotly.figure_factory import create_trisurf
>>> from plotly.graph_objects import graph_objects
>>> # Make data for plot
>>> u=np.linspace(-np.pi, np.pi, 30)