Matplotlib.pyplot.findobj() en Python

Matplotlib es una increíble biblioteca de visualización en Python para gráficos 2D de arrays. Matplotlib es una biblioteca de visualización de datos multiplataforma basada en arrays NumPy y diseñada para funcionar con la pila SciPy más amplia.

matplotlib.pyplot.findobj()

Esta función se utiliza para buscar recursivamente todas las instancias de artistas contenidas en el artista. Los filtros se crean para que coincidan con el objeto de artista que busca y devuelve una lista de artistas coincidentes. Un objeto de artista se refiere al objeto de matplotlib.artistclase que es responsable de plasmar la pintura en el lienzo.

Sintaxis: matplotlib.pyplot.findobj(o=Ninguno, match=Ninguno, include_self=True)

Parámetros:

  1. coincidencia: este parámetro se utiliza para que el filtro de creación coincida con el objeto de artista buscado. Esto puede ser una de tres cosas;
    • Ninguno: Esto devuelve todos los objetos en el artista.
    • Una función: Una función con firma como def match(artista: Artista) -> booleano. El resultado de esta función tiene artistas para los que la función devuelve True.
    • Una instancia de clase: el resultado de esto contiene un artista de la misma clase o una de sus subclases (verificación de instancia), por ejemplo, Line2D
  2. include_self: este parámetro acepta un valor booleano y se incluye a mí mismo para ver la lista de coincidencias.

Devoluciones: Devuelve una lista de Artista

Ejemplo 1:

import matplotlib.pyplot as plt
import numpy as np
  
  
h = plt.figure()
  
plt.plot(range(1,11),
         range(1,11), 
         gid = 'dummy_data')
  
legend = plt.legend(['the plotted line'])
  
plt.title('figure')  
  
axis = plt.gca()
axis.set_xlim(0,5)
  
for p in set(h.findobj(lambda x: x.get_gid() == 'dummy_data')):
   p.set_ydata(np.ones(10)*10.0)
      
plt.show()

Producción:

python-matplotlib-findobj-1

Ejemplo 2:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.text as text
  
m = np.arange(3, -4, -.2)
n = np.arange(3, -4, -.2)
o = np.exp(m)
p = o[::-1]
  
figure, axes = plt.subplots()
plt.plot(m, o, 'k--', m, p, 
         'k:', m, o + p, 'k')
  
plt.legend((' Modelset', 'Dataset',
            'Total string length'),
           loc ='upper center', 
           shadow = True)
plt.ylim([-1, 10])
plt.grid(True)
plt.xlabel(' Modelset --->')
plt.ylabel(' String length --->')
plt.title('Min. Length of String')
  
  
# Helper function
def find_match(x):
    return hasattr(x, 'set_color') and not hasattr(x, 'set_facecolor')
  
# calling the findobj function
for obj in figure.findobj(find_match):
    obj.set_color('black')
  
# match on class instances
for obj in figure.findobj(text.Text):
    obj.set_fontstyle('italic')
  
  
plt.show()

Producción:
matplotlib.pyplot.findobj()

Publicación traducida automáticamente

Artículo escrito por RajuKumar19 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 *