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.get_axes_locator() Function
The Axes.set_axes_locator() function in axes module of matplotlib library is used to get the axes locator.
Syntax: Axes.get_axes_locator(self)
Return value: This method return the axes_locator.
Below examples illustrate the matplotlib.axes.Axes.get_axes_locator() function in matplotlib.axes:
Example 1:
# Implementation of matplotlib function from mpl_toolkits.axes_grid1 import Size, Divider
import 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 ))
w = ax1.get_axes_locator()
w2 = ax2.get_axes_locator()
w3 = ax3.get_axes_locator()
w4 = ax4.get_axes_locator()
fig.suptitle('matplotlib.axes.Axes.get_axes_locator()\ function Example\n\n' + str (w) + '\n' + str (w2) + '\n' + str (w3) + '\n' + str (w4) + '\n\n\n\n' )
plt.show() |
Output:
Example 2:
# Implementation of matplotlib function import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.axes_divider import HBoxDivider
import 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 = 1
for 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" ))
w1 = ax1.get_axes_locator()
w2 = ax2.get_axes_locator()
w3 = ax3.get_axes_locator()
fig.suptitle('matplotlib.axes.Axes.get_axes_locator() \ function Example\n\n' + str (w1) + '\n' + str (w2) + '\n' + str (w3) + '\n\n\n\n' )
plt.show() |
Output: