Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

566
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!