Matplotlib.axes.Axes.set_axes_locator() 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.
The Axes.set_axes_locator() function in axes module of matplotlib library is used to set the axes locator.
Syntax: Axes.set_axes_locator(self, locator)
Parameters: This method accepts only one parameters.
locator : This parameter is Callable with values and syntax like – [[Axes, Renderer], Bbox].
Return value: This method does not returns any value.
Below examples illustrate the matplotlib.axes.Axes.set_axes_locator() function in matplotlib.axes:
Example 1:
# Implementation of matplotlib functionfrom mpl_toolkits.axes_grid1 import Size, Dividerimport matplotlib.pyplot as plt    fig = plt.figure(1, (6, 6))  value1 = [Size.Fixed(2.), Size.Fixed(.8), Size.Fixed(1.2),         Size.Fixed(.7)]value2 = [Size.Fixed(1.2), Size.Fixed(.7), Size.Fixed(2.)]  polygon = (0.2, 0.2, 0.4, 0.4)resultant = Divider(fig, polygon, value1,                     value2, aspect = False)  ax1 = fig.add_axes(polygon, label ="2")ax2 = fig.add_axes(polygon, label ="3")ax3 = fig.add_axes(polygon, label ="1")ax4 = fig.add_axes(polygon, label ="4")  ax1.set_axes_locator(resultant.new_locator(nx = 0,                     ny = 0))ax2.set_axes_locator(resultant.new_locator(nx = 0,                      ny = 2))ax3.set_axes_locator(resultant.new_locator(nx = 3,                      ny = 2))ax4.set_axes_locator(resultant.new_locator(nx = 3,                      nx1 = 4, ny = 0))  fig.suptitle('matplotlib.axes.Axes.set_axes_locator()\ function Example\n\n', fontweight ="bold")plt.show()
Output:
Example 2:
# Implementation of matplotlib functionimport numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.axes_grid1.axes_divider import HBoxDividerimport mpl_toolkits.axes_grid1.axes_size as Size  arr1 = np.arange(40).reshape((8, 5))arr2 = np.arange(12).reshape((3, 4))  fig, (ax1, ax2) = plt.subplots(1, 2)ax1.imshow(arr1)ax2.imshow(arr2)  rect = 111 pad = 1for ax in [ax1, ax2]:    ax.locator_params(nbins = 1)    ax.xaxis.set_visible(False)    ax.yaxis.set_visible(False)  h1, v1 = Size.AxesX(ax1), Size.AxesY(ax1)h2, v2 = Size.AxesX(ax2), Size.AxesY(ax2)  pad_v = Size.Scaled(1)pad_h = Size.Fixed(pad)  my_divider = HBoxDivider(fig, rect,                         horizontal =[h1, pad_h, h2],                         vertical =[v1, pad_v, v2])  ax1.set_axes_locator(my_divider.new_locator(0))ax2.set_axes_locator(my_divider.new_locator(2))  ax3 = plt.axes([0.4, 0.5, 0.001, 0.001], frameon = False)ax3.xaxis.set_visible(False)ax3.yaxis.set_visible(False)ax3.annotate("GeeksforGeeks\n matplotlib module \n Axes class",              (1, 0.5),             xycoords ="axes fraction",             va ="center", ha ="center",             bbox = dict(boxstyle ="round,              pad = 1", fc ="w"))  fig.suptitle('matplotlib.axes.Axes.set_axes_locator()\ function Example\n\n', fontweight ="bold")plt.show()
Output:
Python-matplotlib
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Install PIP on Windows ?
Check if element exists in list in Python
How To Convert Python Dictionary To JSON?
How to drop one or multiple columns in Pandas Dataframe
Python Classes and Objects
Python | Get unique values from a list
Python | os.path.join() method
Defaultdict in Python
Create a directory in Python
Python | Pandas dataframe.groupby()