Module containing Axes3D, an object which can plot 3D objects on a 2D matplotlib figure.
Bases: matplotlib.axes.Axes
3D axes object.
Build an Axes3D instance in Figure fig with rect=[left, bottom, width, height] in Figure coordinates
Optional keyword arguments:
Keyword Description azim Azimuthal viewing angle (default -60) elev Elevation viewing angle (default 30)
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.
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
Generate a 3D bar, or multiple bars.
When generating multiple bars, x, y, z have to be arrays. dx, dy, dz can be arrays or scalars.
color can be:
- A single color value, to color all bars the same color.
- An array of colors of length N bars, to color each bar independently.
- An array of colors of length 6, to color the faces of the bars similarly.
- An array of colors of length 6 * N bars, to color each face independently.
When coloring the faces of the boxes specifically, this is the order of the coloring:
- -Z (bottom of box)
- +Z (top of box)
- -Y
- +Y
- -X
- +X
Keyword arguments are passed onto Poly3DCollection()
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
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
Plot filled 3D contours.
X, Y, Z: data points.
The positional and keyword arguments are passed on to contourf()
Returns a contourf
Plot filled 3D contours.
X, Y, Z: data points.
The positional and keyword arguments are passed on to contourf()
Returns a contourf
Create the projection matrix from the current viewing position.
elev stores the elevation angle in the z plane azim stores the azimuth angle in the x,y plane
dist is the distance of the eye viewing point from the object point.
Initializes mouse button callbacks to enable 3D rotation of the axes. Also optionally sets the mouse buttons for 3D rotation and zooming.
Argument | Description |
---|---|
rotate_btn | The integer or list of integers specifying which mouse button or buttons to use for 3D rotation of the axes. Default = 1. |
zoom_btn | The integer or list of integers specifying which mouse button or buttons to use to zoom the 3D axes. Default = 3. |
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()
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()
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 numpy.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 __init__()
Plot a 3D wireframe.
Argument | Description |
---|---|
X, Y, | Data values as numpy.arrays |
Z | |
rstride | Array row stride (step size) |
cstride | Array column stride (step size) |
Keyword arguments are passed on to matplotlib.collections.LineCollection.__init__().
Returns a Line3DCollection
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. |
Keyword arguments are passed on to scatter().
Returns a Patch3DCollection
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. |
Keyword arguments are passed on to scatter().
Returns a Patch3DCollection
call signature:
text(x, y, s, fontdict=None, **kwargs)
Add text in string s to axis at location x, y, data coordinates.
Keyword arguments:
- fontdict:
- A dictionary to override the default text properties. If fontdict is None, the defaults are determined by your rc parameters.
- withdash: [ False | True ]
- Creates a TextWithDash instance instead of a Text instance.
Individual keyword arguments can be used to override any given parameter:
text(x, y, s, fontsize=12)
The default transform specifies that text is in data coords, alternatively, you can specify text in axis coords (0,0 is lower-left and 1,1 is upper-right). The example below places text in the center of the axes:
text(0.5, 0.5,'matplotlib',
horizontalalignment='center',
verticalalignment='center',
transform = ax.transAxes)
You can put a rectangular box around the text instance (eg. to set a background color) by using the keyword bbox. bbox is a dictionary of matplotlib.patches.Rectangle properties. For example:
text(x, y, s, bbox=dict(facecolor='red', alpha=0.5))
Valid kwargs are matplotlib.text.Text properties:
Property Description agg_filter unknown alpha float (0.0 transparent through 1.0 opaque) animated [True | False] axes an Axes instance backgroundcolor any matplotlib color bbox rectangle prop dict clip_box a matplotlib.transforms.Bbox instance clip_on [True | False] clip_path [ (Path, Transform) | Patch | None ] color any matplotlib color contains a callable function family or fontfamily or fontname or name [ FONTNAME | ‘serif’ | ‘sans-serif’ | ‘cursive’ | ‘fantasy’ | ‘monospace’ ] figure a matplotlib.figure.Figure instance fontproperties or font_properties a matplotlib.font_manager.FontProperties instance gid an id string horizontalalignment or ha [ ‘center’ | ‘right’ | ‘left’ ] label any string linespacing float (multiple of font size) lod [True | False] multialignment [‘left’ | ‘right’ | ‘center’ ] path_effects unknown picker [None|float|boolean|callable] position (x,y) rasterized [True | False | None] rotation [ angle in degrees | ‘vertical’ | ‘horizontal’ ] rotation_mode unknown size or fontsize [ size in points | ‘xx-small’ | ‘x-small’ | ‘small’ | ‘medium’ | ‘large’ | ‘x-large’ | ‘xx-large’ ] snap unknown stretch or fontstretch [ a numeric value in range 0-1000 | ‘ultra-condensed’ | ‘extra-condensed’ | ‘condensed’ | ‘semi-condensed’ | ‘normal’ | ‘semi-expanded’ | ‘expanded’ | ‘extra-expanded’ | ‘ultra-expanded’ ] style or fontstyle [ ‘normal’ | ‘italic’ | ‘oblique’] text string or anything printable with ‘%s’ conversion. transform Transform instance url a url string variant or fontvariant [ ‘normal’ | ‘small-caps’ ] verticalalignment or va or ma [ ‘center’ | ‘top’ | ‘bottom’ | ‘baseline’ ] visible [True | False] weight or fontweight [ a numeric value in range 0-1000 | ‘ultralight’ | ‘light’ | ‘normal’ | ‘regular’ | ‘book’ | ‘medium’ | ‘roman’ | ‘semibold’ | ‘demibold’ | ‘demi’ | ‘bold’ | ‘heavy’ | ‘extra bold’ | ‘black’ ] x float y float zorder any number
Set the elevation and azimuth of the axes.
This can be used to rotate the axes programatically.
‘elev’ stores the elevation angle in the z plane. ‘azim’ stores the azimuth angle in the x,y plane.
if elev or azim are None (default), then the initial value is used which was specified in the Axes3D constructor.
Module containing 3D artist code and functions to convert 2D artists into 3D versions which can be added to an Axes3D.
Bases: matplotlib.lines.Line2D
3D line object.
Keyword arguments are passed onto Line2D().
Bases: matplotlib.collections.LineCollection
A collection of 3D lines.
Keyword arguments are passed onto LineCollection().
Bases: matplotlib.patches.Patch
3D patch object.
Bases: matplotlib.collections.PatchCollection
A collection of 3D patches.
Bases: mpl_toolkits.mplot3d.art3d.Patch3D
3D PathPatch object.
Bases: matplotlib.collections.PolyCollection
A collection of 3D polygons.
Create a Poly3DCollection.
verts should contain 3D coordinates.
Keyword arguments: zsort, see set_zsort for options.
Note that this class does a bit of magic with the _facecolors and _edgecolors properties.
Bases: matplotlib.text.Text
Text object with 3D position and (in the future) direction.
x, y, z Position of text text Text string to display zdir Direction of text
Keyword arguments are passed onto Text().
Various transforms used for by the 3D code
distance(s) from line defined by p1 - p2 to point(s) p0
p0[0] = x(s) p0[1] = y(s)
intersection point p = p1 + u*(p2-p1) and intersection point lies within segement if u is between 0 and 1