Open In App

Matplotlib.axis.Axis.get_contains() in Python

Last Updated : 08 Jun, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

Matplotlib is a library in Python and it is numerical – mathematical extension for NumPy library. It is an amazing visualization library in Python for 2D plots of arrays and used for working with the broader SciPy stack.

matplotlib.axis.Axis.get_contains() Function

The Axis.get_contains() function in axis module of matplotlib library is used to get the custom contains function of the artist. 

Syntax: Axis.get_contains(self) 
 

Parameters: This method does not accepts any parameter. 
 

Return value: This method return the custom contains function of the artist. 

Below examples illustrate the matplotlib.axis.Axis.get_contains() function in matplotlib.axis:
 

Example 1:

Python3




# Implementation of matplotlib function
from matplotlib.axis import Axis
import matplotlib.pyplot as plt  
from matplotlib.lines import Line2D  
import numpy as np  
from numpy.random import rand  
    
    
fig, ax2 = plt.subplots()  
        
ax2.bar(range(10), rand(10), picker = True)  
      
for label in ax2.get_xticklabels():   
    label.set_picker(True)  
        
def onpick1(event):  
          
    if isinstance(event.artist, Line2D):  
        thisline = event.artist  
        xdata = thisline.get_xdata()  
        ydata = thisline.get_ydata()  
        ind = event.ind  
        print('onpick1 line:',  
               np.column_stack([xdata[ind],   
                               ydata[ind]]))  
              
    elif isinstance(event.artist, Rectangle):  
        patch = event.artist  
        print('onpick1 patch:', patch.get_path())  
              
    elif isinstance(event.artist, Text):  
        text = event.artist  
        print('onpick1 text:', text.get_text()) 
     
Axis.set_contains(ax2, picker = onpick1) 
    
ax2.text(0.5, 0.8,  
         "Value Return : "
         + str(Axis.get_contains(ax2)),   
         fontweight ="bold", fontsize = 10
  
fig.suptitle("""matplotlib.axis.Axis.get_contains()
function Example\n""", fontweight ="bold")  
    
plt.show()


Output: 
 

Example 2:

Python3




# Implementation of matplotlib function
from matplotlib.axis import Axis
import matplotlib.pyplot as plt  
from matplotlib.lines import Line2D  
import numpy as np  
from numpy.random import rand  
    
        
fig, ax = plt.subplots()  
ax.plot(rand(100), rand(100), 'o')  
        
def line_picker(line, mouseevent):  
          
    if mouseevent.xdata is None:  
        return False, dict()  
          
    xdata = line.get_xdata()  
    ydata = line.get_ydata()  
    maxd = 0.05
    d = np.sqrt(  
        (xdata - mouseevent.xdata)**2 + (ydata - mouseevent.ydata)**2)  
      
    ind, = np.nonzero(d <= maxd)  
          
    if len(ind):  
              
        pickx = xdata[ind]  
        picky = ydata[ind]  
        props = dict(ind = ind, pickx = pickx,
                     picky = picky)  
        return True, props  
          
    else:  
        return False, dict()  
     
Axis.set_contains(ax, picker = line_picker) 
    
ax.text(0.1, 0.8,  
         "Value Return : "
         + str(Axis.get_contains(ax)),   
         fontweight ="bold", fontsize = 10)
  
fig.suptitle("""matplotlib.axis.Axis.get_contains()
function Example\n""", fontweight ="bold")  
    
plt.show()


Output: 
 

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads