Matplotlib.axes.Axes.set_aspect() in Python - GeeksforGeeks

19 Apr, 2020
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.#Sample Code
# Implementation of matplotlib function      import matplotlib.pyplot as pltimport numpy as np    # make an agg figurefig, ax = plt.subplots()ax.plot([1, 2, 3])ax.set_title('matplotlib.axes.Axes function')fig.canvas.draw()plt.show()
Output:
The Axes.set_aspect() function in axes module of matplotlib library is used to set the aspect of the axis scaling, i.e. the ratio of y-unit to x-unit.
Syntax:
Axes.set_aspect(self, aspect, adjustable=None, anchor=None, share=False)
Parameters: This method accepts the following parameters.
aspect : This parameter accepts the following value {‘auto’, ‘equal’} or num.
adjustable : This defines which parameter will be adjusted to meet the required aspect.
anchor : This parameter is used to define where the Axes will be drawn if there is extra space due to aspect constraints.
share: This parameter is used to apply the settings to all shared Axes.
Return value: This method does not return any value.
Below examples illustrate the matplotlib.axes.Axes.set_aspect() function in matplotlib.axes:
Example-1:
# ImpleIn Reviewtation of matplotlib function  import matplotlib.pyplot as plt  fig, (ax1, ax2) = plt.subplots(1, 2)ax1.set_xscale("log")ax1.set_yscale("log")ax1.set_adjustable("datalim")ax1.plot([1, 3, 34, 4, 46, 3, 7, 45, 10],         [1, 9, 27, 8, 29, 84, 78, 19, 48],         "o-", color ="green")ax1.set_xlim(1e-1, 1e2)ax1.set_ylim(1, 1e2)ax1.set_title("No set_aspect")  ax2.set_xscale("log")ax2.set_yscale("log")ax2.set_adjustable("datalim")ax2.plot([1, 3, 34, 4, 46, 3, 7, 45, 10],         [1, 9, 27, 8, 29, 84, 78, 19, 48],         "o-", color ="green")  ax2.set_xlim(1e-1, 1e2)ax2.set_ylim(1, 1e2)ax2.set_aspect(2)ax2.set_title("set_aspect value = 2")  fig.suptitle('matplotlib.axes.Axes.set_aspect() \function Example\n', fontweight ="bold")fig.canvas.draw()plt.show()
Output:
Example-2:
# ImpleIn Reviewtation of matplotlib function  import matplotlib.pyplot as pltimport matplotlib.tri as triimport numpy as np  n_angles = 20n_radii = 10min_radius = 2radii = np.linspace(min_radius, 0.95, n_radii)  angles = np.linspace(0, 4 * np.pi, n_angles,                     endpoint = False)angles = np.repeat(angles[..., np.newaxis],                   n_radii, axis = 1)angles[:, 1::2] += np.pi / n_angles  x = (radii * np.cos(angles)).flatten()y = (radii * np.sin(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)fig, (ax, ax1) = plt.subplots(1, 2)  ax.triplot(triang, 'bo-', lw = 1, color = "green")ax.set_title("No set_aspect")  ax1.set_aspect('equal')ax1.triplot(triang, 'bo-', lw = 1, color = "green")ax1.set_title("set_aspect value ='equal'")  fig.suptitle('matplotlib.axes.Axes.set_aspect() \function Example\n', fontweight ="bold")fig.canvas.draw()plt.show()
Output:
Python-matplotlib
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Read a file line by line in Python
How to Install PIP on Windows ?
Enumerate() in Python
Different ways to create Pandas Dataframe
Iterate over a list in Python
Python String | replace()
*args and **kwargs in Python
Reading and Writing to text files in Python
Convert integer to string in Python