Contents
An Axes3D object is created just like any other axes using the projection=‘3d’ keyword. Create a new matplotlib.figure.Figure and add a new axes to it of type Axes3D:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
New in version 1.0.0: This approach is the preferred method of creating a 3D axes.
Note
Prior to version 1.0.0, the method of creating a 3D axes was different. For those using older versions of matplotlib, change ax = fig.add_subplot(111, projection='3d') to ax = Axes3D(fig).
Plot 2D or 3D data.
Argument | Description |
---|---|
xs, ys | X, y coordinates of vertices |
zs | z value(s), either one for all points or one for each point. |
zdir | Which direction to use as z (‘x’, ‘y’ or ‘z’) when plotting a 2D set. |
Other arguments are passed on to plot()
(Source code, png)
Create a scatter plot.
Argument | Description |
---|---|
xs, ys | Positions of data points. |
zs | Either an array of the same length as xs and ys or a single value to place all points in the same plane. Default is 0. |
zdir | Which direction to use as z (‘x’, ‘y’ or ‘z’) when plotting a 2D set. |
s | size in points^2. It is a scalar or an array of the same length as x and y. |
c | a color. c can be a single color format string, or a sequence of color specifications of length N, or a sequence of N numbers to be mapped to colors using the cmap and norm specified via kwargs (see below). Note that c should not be a single numeric RGB or RGBA sequence because that is indistinguishable from an array of values to be colormapped. c can be a 2-D array in which the rows are RGB or RGBA, however. |
Keyword arguments are passed on to scatter().
Returns a Patch3DCollection
(Source code, png)
Plot a 3D wireframe.
Argument | Description |
---|---|
X, Y, | Data values as 2D arrays |
Z | |
rstride | Array row stride (step size) |
cstride | Array column stride (step size) |
Keyword arguments are passed on to LineCollection.
Returns a Line3DCollection
(Source code, png)
Create a surface plot.
By default it will be colored in shades of a solid color, but it also supports color mapping by supplying the cmap argument.
Argument | Description |
---|---|
X, Y, Z | Data values as 2D arrays |
rstride | Array row stride (step size) |
cstride | Array column stride (step size) |
color | Color of the surface patches |
cmap | A colormap for the surface patches. |
facecolors | Face colors for the individual patches |
norm | An instance of Normalize to map values to colors |
vmin | Minimum value to map |
vmax | Maximum value to map |
shade | Whether to shade the facecolors |
Other arguments are passed on to Poly3DCollection
(Source code, png)
(Source code, png)
(Source code, png)
Argument | Description |
---|---|
X, Y, Z | Data values as 1D arrays |
color | Color of the surface patches |
cmap | A colormap for the surface patches. |
norm | An instance of Normalize to map values to colors |
vmin | Minimum value to map |
vmax | Maximum value to map |
shade | Whether to shade the facecolors |
The (optional) triangulation can be specified in one of two ways; either:
plot_trisurf(triangulation, ...)
where triangulation is a Triangulation object, or:
plot_trisurf(X, Y, ...)
plot_trisurf(X, Y, triangles, ...)
plot_trisurf(X, Y, triangles=triangles, ...)
in which case a Triangulation object will be created. See Triangulation for a explanation of these possibilities.
The remaining arguments are:
plot_trisurf(..., Z)
where Z is the array of values to contour, one per point in the triangulation.
Other arguments are passed on to Poly3DCollection
Examples:
(Source code, png)
New in version 1.2.0: This plotting function was added for the v1.2.0 release.
(Source code, png)
Create a 3D contour plot.
Argument | Description |
---|---|
X, Y, | Data values as numpy.arrays |
Z | |
extend3d | Whether to extend contour in 3D (default: False) |
stride | Stride (step size) for extending contour |
zdir | The direction to use: x, y or z (default) |
offset | If specified plot a projection of the contour lines on this position in plane normal to zdir |
The positional and other keyword arguments are passed on to contour()
Returns a contour
(Source code, png)
(Source code, png)
(Source code, png)
Create a 3D contourf plot.
Argument | Description |
---|---|
X, Y, | Data values as numpy.arrays |
Z | |
zdir | The direction to use: x, y or z (default) |
offset | If specified plot a projection of the filled contour on this position in plane normal to zdir |
The positional and keyword arguments are passed on to contourf()
Returns a contourf
Changed in version 1.1.0: The zdir and offset kwargs were added.
(Source code, png)
(Source code, png)
New in version 1.1.0: The feature demoed in the second contourf3d example was enabled as a result of a bugfix for version 1.1.0.
Add a 3D collection object to the plot.
2D collection types are converted to a 3D version by modifying the object and adding z coordinate information.
(Source code, png)
Add 2D bar(s).
Argument | Description |
---|---|
left | The x coordinates of the left sides of the bars. |
height | The height of the bars. |
zs | Z coordinate of bars, if one value is specified they will all be placed at the same z. |
zdir | Which direction to use as z (‘x’, ‘y’ or ‘z’) when plotting a 2D set. |
Keyword arguments are passed onto bar().
Returns a Patch3DCollection
(Source code, png)
Add text to the plot. kwargs will be passed on to Axes.text, except for the zdir keyword, which sets the direction to be used as the z direction.
(Source code, png)
Having multiple 3D plots in a single figure is the same as it is for 2D plots. Also, you can have both 2D and 3D plots in the same figure.
New in version 1.0.0: Subplotting 3D plots was added in v1.0.0. Earlier version can not do this.
(Source code, png)
(Source code, png)