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:
#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:
#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: