Open In App

Matplotlib.axes.Axes.get_axes_locator() in Python

Improve
Improve
Like Article
Like
Save
Share
Report

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:



Last Updated : 19 Apr, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads