Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

562
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda