Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

565
Vistas
Usando AstroPy con matplotlib, recibo una advertencia para llamar a grid (False) primero debido al uso de plt.colorbar()

Intentando ejecutar este código desde AstroPy:docs

 import matplotlib.pyplot as plt from astropy.visualization import astropy_mpl_style plt.style.use(astropy_mpl_style) from astropy.utils.data import get_pkg_data_filename from astropy.io import fits image_file = get_pkg_data_filename('tutorials/FITS-images/HorseHead.fits') fits.info(image_file) image_data = fits.getdata(image_file, ext=0) print(image_data.shape) plt.figure() plt.imshow(image_data, cmap='gray') plt.colorbar()

Recibo una advertencia:

línea 19 plt.colorbar() MatplotlibDeprecationWarning: La eliminación automática de cuadrículas por pcolor() y pcolormesh() está en desuso desde 3.5 y se eliminará dos versiones menores más adelante; por favor llame a grid (Falso) primero.

Intenté llamar a plt.grid (Falso), pero sigo recibiendo esta advertencia/error. ¿Alguien sabe cómo resolver esto?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Para los usuarios que pueden haberse topado con este problema al buscar el mensaje de advertencia de desuso de Matplotlib 3.5. Cualquier estilo que tenga axes.grid True puede desencadenar este problema. En general, se puede anular en plt.rcParams['axes.grid'] = False , pero se debe tener cuidado acerca de dónde y cuándo se establece.

ACTUALIZACIÓN 19/01/2022

He enviado un informe de error a astropy sobre este mensaje de advertencia. Ver problema de GitHub

ACTUALIZACIÓN 26/01/2022

Matplotlib solucionó este problema en matplotlib/matplotlib#22285 . He confirmado con la versión de desarrollo de Matplotlib 3.6 que la advertencia ya no aparece en el código en cuestión.

abordando el tema desde la pregunta

El problema es que astropy_mpl_style tiene la cuadrícula predeterminada y esto activa un mensaje de advertencia de desuso acerca de llamar a plt.grid(False) antes de llamar a plt.colorbar() en la versión 3.5 de Matplotlib. Este mensaje de advertencia aparece a pesar de hacer lo que dice porque el estilo tiene prioridad sobre las llamadas a funciones.

Una solución es anular la configuración de la cuadrícula astropy_mpl_style y evitar que la cuadrícula se encienda antes de llamar a plt.colorbar() .

 astropy_mpl_style['axes.grid'] = False

Así es como se pliega en el código para evitar el mensaje de advertencia de Matplotlib versión 3.5

 import matplotlib.pyplot as plt from astropy.visualization import astropy_mpl_style astropy_mpl_style['axes.grid'] = False plt.style.use(astropy_mpl_style) from astropy.utils.data import get_pkg_data_filename from astropy.io import fits image_file = get_pkg_data_filename('tutorials/FITS-images/HorseHead.fits') fits.info(image_file) image_data = fits.getdata(image_file, ext=0) print(image_data.shape) plt.figure() plt.imshow(image_data, cmap='gray') plt.colorbar()
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda