Matplotlib.axes.Axes.tricontour() in Python
Matplotlib is a library in Python and it is numerical – mathematical extension for NumPy library. The Axes Class contains most of the figure elements: Axis, Tick, Line2D, Text, Polygon, etc., and sets the coordinate system. And the instances of Axes supports callbacks through a callbacks attribute.
matplotlib.axes.Axes.tricontour() Function
The Axes.tricontour() function in axes module of matplotlib library is also used to draw contours on an unstructured triangular grid.
Syntax:
Axes.tricontour(ax, *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.
Returns: This returns the list of 2 Line2D containing following:
- The lines plotted for triangles edges.
- The markers plotted for triangles nodes
Below examples illustrate the matplotlib.axes.Axes.tricontour() function in matplotlib.axes: 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 , 2 , 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( 1.5 * x) * np.cos( 1.5 * y) fig, axs = plt.subplots() t = axs.tricontourf(triang, z) axs.tricontour(triang, z, colors = 'white' ) fig.colorbar(t) axs.set_title( 'matplotlib.axes.Axes.tricontour() Example' ) 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 = 26 n_radii = 10 min_radius = 0.35 radii = np.linspace(min_radius, 0.95 , n_radii) angles = np.linspace( 0 , 2 * 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) * np.cos( 3 * angles)).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) fig1, ax1 = plt.subplots() ax1.set_aspect( 'equal' ) tcf = ax1.tricontourf(triang, z) fig1.colorbar(tcf) ax1.tricontour(triang, z, colors = 'g' ) ax1.set_title( 'matplotlib.axes.Axes.tricontour() Example' ) plt.show() |
Output: