2.5. Mathematical Plots¶
Attention
Matplotlib does not support labels and auto-references. You can not refer to a equation and you will never see an entry to
.. mathmpl::
expressions in the list of equations.
- PyPI Package
- Project Home
- Documentation
- Git Repository
- Documentation
- Git Repository
Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. It consists:
matplotlib.sphinxext.mathmpl
: Matplotlib math-text in a Sphinx documentmatplotlib.sphinxext.plot_directive
: Matplotlib plot in a Sphinx document
Todo
activate “Mathematical Plots” extension.
2.5.1. Expressions¶
See the Writing mathematical expressions for lots more information how to writing mathematical expressions in matplotlib.
With matplotlib in |Sphinx| you can include inline math
:mathmpl:`(\alpha^{ic} > \beta_{ic})` (as role
:rst:`:mathmpl:`(\alpha^{ic} > \beta_{ic})``) or display math:
.. mathmpl::
\sum_{i=0}^\infty x_i
-
.. mathmpl::
¶ - The example
1 2 3
.. mathmpl:: \left(\frac{5 - \frac{1}{x}}{4}\right)
:which gives: .. include:: matplotlib/mathmpl/example.rsti
2.5.2. Plots¶
-
.. plot::
¶ See the matplotlib Pyplot tutorial and the Gallery for lots of examples of matplotlib plots.
The source code for the plot may be included in one of three ways:
inline content
- the example
1 2 3 4 5 6 7 8 9
.. plot:: :align: center :scale: 75 import matplotlib.pyplot as plt import matplotlib.image as mpimg import numpy as np img = mpimg.imread('https://github.com/matplotlib/matplotlib/raw/master/doc/_static/stinkbug.png') imgplot = plt.imshow(img)
:which gives:
.. include:: matplotlib/inline/example.rsti
doctest content
- the example
1 2 3 4 5 6 7 8
.. plot:: :format: doctest :align: center :scale: 75 >>> import matplotlib.pyplot as plt >>> plt.plot([1, 2, 3], [4, 5, 6]) # doctest: +ELLIPSIS [<matplotlib.lines.Line2D object at 0x...>]
:which gives:
.. include:: matplotlib/doctest/example.rsti
source file content
When a path to a source file is given, the Sphinx configuration option
plot_basedir
will respect. It is the base directory, to which
.. plot::
file names are relative to. If None or empty, file names
are relative to the directory where the file containing the directive is.
.. ifconfig:: not plot_basedir
:plot_basedir: **None or empty**, file names are **relative**
.. ifconfig:: plot_basedir
:plot_basedir: currently set to :file:`{plot_basedir}`.
- the example
1 2 3 4 5 6
.. plot:: ellipses.py :include-source: :encoding: utf :format: python :align: center :scale: 75
:which gives:
.. include:: matplotlib/srcfile/example.rsti
3D-Plots¶
See mplot3d, mplot3d FAQ, and mplot3d API.
- the example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
.. plot:: :format: python :align: center :scale: 75 import matplotlib.pyplot as plt from matplotlib import cm from mpl_toolkits.mplot3d import axes3d fig = plt.figure() ax = fig.gca(projection='3d') X, Y, Z = axes3d.get_test_data(0.005) ax.plot_surface(X, Y, Z, rstride=8, cstride=8, alpha=0.3) cset = ax.contourf(X, Y, Z, zdir='z', offset=-100, cmap=cm.coolwarm) cset = ax.contourf(X, Y, Z, zdir='x', offset=-40, cmap=cm.coolwarm) cset = ax.contourf(X, Y, Z, zdir='y', offset=40, cmap=cm.coolwarm) ax.set_xlabel('X'); ax.set_xlim(-40, 40) ax.set_ylabel('Y'); ax.set_ylim(-40, 40) ax.set_zlabel('Z'); ax.set_zlim(-100, 100) plt.show()
:which gives:
.. include:: matplotlib/mplot3d/example.rsti