Friday, September 5, 2025
HomeLanguagesMatplotlib.axis.Tick.set_contains() function in Python

Matplotlib.axis.Tick.set_contains() function in Python

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.Tick.set_contains() Function

The Tick.set_contains() function in axis module of matplotlib library is used to define a custom contains test for the artist. 
 

Syntax: Tick.Axis.set_contains(self, picker) 
 

Parameters: This method accepts the following parameters. 

  • picker: This parameter is the custom picker function to evaluate if an event is within the artist.

Return value: This method does not return any value. 

Below examples illustrate the matplotlib.axis.Tick.set_contains() function in matplotlib.axis:
Example 1:

Python3




# Implementation of matplotlib function
from matplotlib.axis import Tick
import matplotlib.pyplot as plt  
from matplotlib.lines import Line2D  
from matplotlib.patches import Rectangle  
from matplotlib.text import Text  
from matplotlib.image import AxesImage  
import numpy as np  
from numpy.random import rand  
       
       
fig, (ax1, ax2) = plt.subplots(2, 1)  
ax1.set_ylabel('ylabel', picker = True,  
               bbox = dict(facecolor ='red'))  
       
line, = ax1.plot(rand(100), 'go-')  
       
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())  
      
Tick.set_contains(ax2, picker = onpick1) 
fig.canvas.mpl_connect('pick_event', onpick1)
  
fig.suptitle('matplotlib.axis.Tick.set_contains() \
function Example', fontweight ="bold")  
     
plt.show() 


Output: 
 

 

onpick1 text: ylabel
onpick1 patch: Path(array([[0., 0.],
       [1., 0.],
       [1., 1.],
       [0., 1.],
       [0., 0.]]), array([ 1,  2,  2,  2, 79], dtype=uint8))
onpick1 patch: Path(array([[0., 0.],
       [1., 0.],
       [1., 1.],
       [0., 1.],
       [0., 0.]]), array([ 1,  2,  2,  2, 79], dtype=uint8))

Example 2:

Python3




# Implementation of matplotlib function
from matplotlib.axis import Tick
import matplotlib.pyplot as plt  
from matplotlib.lines import Line2D  
from matplotlib.patches import Rectangle  
from matplotlib.text import Text  
from matplotlib.image import AxesImage  
import numpy as np  
from numpy.random import rand  
       
       
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()  
       
def onpick2(event):  
           
    print('Result :', event.pickx, event.picky)  
       
fig, ax = plt.subplots()  
ax.plot(rand(100), rand(100), 'o')  
     
Tick.set_contains(ax, picker = line_picker) 
     
fig.canvas.mpl_connect('pick_event', onpick2) 
  
fig.suptitle('matplotlib.axis.Tick.set_contains() \
function Example', fontweight ="bold")  
     
plt.show() 


Output: 
 

 

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32264 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6634 POSTS0 COMMENTS
Nicole Veronica
11801 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11861 POSTS0 COMMENTS
Shaida Kate Naidoo
6750 POSTS0 COMMENTS
Ted Musemwa
7025 POSTS0 COMMENTS
Thapelo Manthata
6699 POSTS0 COMMENTS
Umr Jansen
6718 POSTS0 COMMENTS