Skip to main content

Matplotlib: 3D Surface plot

A surface plot is a representation of a 3-D dataset. It shows the functional relationship between two independent variables such as X and Z and a designated dependent variable Y.

  • It is said to be a companion plot to the contour plot.
  • It is similar to a wireframe plot but in wireframe, each face is filled with a polygon.
  • It is helpful in creating the topology of the surface which is begin visualized.

Creating 3-D surface Plot

To create 3-D surface plot ax.plot_surface() function is used 

Syntax

ax.plot_surface(X, Y, Z)

Here, X and Y are 2-D arrays of points while Z is the 2-D array of heights.

Some of the attributes are given below:

  • facecolor: It is used to represent the face colour of the individual surface.
  • shade: It is used to shade the face colour.
  • color: It is used to represent the colour of the surface.
  • vmax: It is used to represent the maximum value of the map.
  • vmin: It is used to represent the minimum value of the map.
  • cmap: It is used to represent the colormap of the surface.
  • nrom: It acts as an instance to normalize the values of color map.
  • rcount: It is used to represent the number of rows to be used. By default it is set to 50.
  • ccount: It is used to represent the number of columns to be used. By default it is set to 50.
  • rstride: It is used to represent the array of row stride(that is step size).
  • cstride: It is used to represent the array of column stride(that is step size).

Example

from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt

a=np.outer(np.linspace(-2,6,10),np.ones(10)) 
b=a.copy().T
c=(np.cos(a)+np.cos(b)) 

fig = plt.figure() 
ax = plt.axes(projection ='3d') 
ax.plot_surface(a,b,c) 

plt.show()

Output

surface plot

Tags
Submitted by devanshi.srivastava on December 7, 2021

Devanshi, is working as a Data Scientist with iVagus. She has expertise in Python, NumPy, Pandas and other data science technologies.

About

At ProgramsBuzz, you can learn, share and grow with millions of techie around the world from different domain like Data Science, Software Development, QA and Digital Marketing. You can ask doubt and get the answer for your queries from our experts.