Matplotlib.artist.Artist.get_contains() en Python

Matplotlib es una biblioteca en Python y es una extensión matemática numérica para la biblioteca NumPy. La clase Artist contiene una clase base Abstract para objetos que se representan en un FigureCanvas. Todos los elementos visibles en una figura son subclases de Artista.

método matplotlib.artist.Artist.get_contains()

El método get_contains() en el módulo de artista de la biblioteca matplotlib se usa para devolver la función de contenido personalizada del artista.

Sintaxis: Artist.get_contains(self)

Parámetros: este método no acepta ningún parámetro.

Devoluciones: este método devuelve la función de contenido personalizado del artista.

Los siguientes ejemplos ilustran la función matplotlib.artist.Artist.get_contains() en matplotlib:

Ejemplo 1:

# Implementation of matplotlib function
from matplotlib.artist import Artist
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())
   
Artist.set_contains(ax2, picker = onpick1)
  
ax2.text(0.5, 0.8, 
         "Value Return : "
         + str(Artist.get_contains(ax2)),  
         fontweight ="bold", fontsize = 10) 
          
fig.suptitle('matplotlib.artist.Artist.get_contains() \
function Example', fontweight ="bold") 
  
plt.show()

Producción:

Ejemplo 2:

# Implementation of matplotlib function
from matplotlib.artist import Artist
# Implementation of matplotlib function 
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() 
   
Artist.set_contains(ax, picker = line_picker)
  
ax.text(0.1, 0.8, 
         "Value Return : "
         + str(Artist.get_contains(ax)),  
         fontweight ="bold", fontsize = 10) 
          
fig.suptitle('matplotlib.artist.Artist.get_contains() \
function Example', fontweight ="bold") 
  
plt.show()

Producción:

Publicación traducida automáticamente

Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *