Matplotlib is a library in Python and it is numerical – mathematical extension for NumPy library. Pyplot is a state-based interface to a Matplotlib module which provides a MATLAB-like interface.
Matplotlib.pyplot.tricontourf()
The tricontourf() function in pyplot module of matplotlib library is used to draw contours on an unstructured triangular grid.
Syntax: matplotlib.pyplot.tricontourf(\*args, \*\*kwargs)
Parameters: This method accept the following parameters that are described below:
- x, y: These parameter are the x and y coordinates of the data which is to be plot.
- triangulation: This parameter is a matplotlib.tri.Triangulation object.
- Z: This parameter is the array of values to contour, one per point in the triangulation.
- **kwargs: This parameter is Text properties that is used to control the appearance of the labels.
All remaining args and kwargs are the same as for matplotlib.pyplot.plot().
Returns: This returns the list of 2 Line2D containing following:
- The lines plotted for triangles edges.
- The markers plotted for triangles nodes
Note: tricontourf-only keyword arguments is antialiased which is a bool enable antialiasing which used in contours on an unstructured triangular grid.
Below examples illustrate the matplotlib.pyplot.tricontourf() function in matplotlib.pyplot:
Example 1:
Python3
#Implementation of matplotlib function import matplotlib.pyplot as plt import matplotlib.tri as mtri import numpy as np # Create triangulation. x = np.asarray([ 0 , 1 , 0 , 3 , 0.5 , 1.5 , 2.5 , 1 , 2 , 1.5 ]) y = np.asarray([ 0 , 0 , 0 , 0 , 1.0 , 1.0 , 1.0 , 2 , 2 , 3.0 ]) triangles = [[ 0 , 1 , 4 ], [ 1 , 5 , 4 ], [ 2 , 6 , 5 ], [ 4 , 5 , 7 ], [ 5 , 6 , 8 ], [ 5 , 8 , 7 ], [ 7 , 8 , 9 ], [ 1 , 2 , 5 ], [ 2 , 3 , 6 ]] triang = mtri.Triangulation(x, y, triangles) z = np.cos( 2.5 * x * x) + np.sin( 2.5 * x * x) t = plt.tricontourf(triang, z) plt.title( 'matplotlib.pyplot.tricontourf() Example\n' , fontsize = 14 , fontweight = 'bold' ) plt.show() |
Output:
Example 2:
Python3
#Implementation of matplotlib function import matplotlib.pyplot as plt import matplotlib.tri as tri import numpy as np n_angles = 60 n_radii = 10 min_radius = 0.35 radii = np.linspace(min_radius, 0.95 , n_radii) angles = np.linspace( 0 , np.pi, n_angles, endpoint = False ) angles = np.repeat(angles[..., np.newaxis], n_radii, axis = 1 ) angles[:, 1 :: 2 ] + = np.pi / n_angles x = ( 10 * radii * np.cos(angles)).flatten() y = ( 10 * radii * np.sin(angles)).flatten() z = (np.cos( 4 * (radii) * * 2 ) * np.sin((angles) * * 2 )).flatten() triang = tri.Triangulation(x, y) triang.set_mask(np.hypot(x[triang.triangles].mean(axis = 1 ), y[triang.triangles].mean(axis = 1 )) < min_radius) tcf = plt.tricontourf(triang, z) plt.colorbar(tcf) plt.title( 'matplotlib.pyplot.tricontourf() Example\n' , fontsize = 14 , fontweight = 'bold' ) plt.show() |
Output: