Cómo obtener el tamaño de la figura matplotlib

2 minutos de lectura

Avatar de usuario de Tristan
Tristán

Para un proyecto, necesito saber el tamaño actual (en píxeles) de mi figura matplotlib, pero no encuentro cómo hacerlo. Alguien sabe como hacer esto ?

Avatar de usuario de Julien Spronck
julien spronck

import matplotlib.plt
fig = plt.figure()
size = fig.get_size_inches()*fig.dpi # size in pixels

Para hacerlo por la cifra actual,

fig = plt.gcf()
size = fig.get_size_inches()*fig.dpi # size in pixels

Puede obtener la misma información haciendo:

bbox = fig.get_window_extent().transformed(fig.dpi_scale_trans.inverted())
width, height = bbox.width*fig.dpi, bbox.height*fig.dpi

  • Gracias, creo que me da el tamaño de la figura cuando se trazó por primera vez, pero no se actualiza si cambio el tamaño de mi ventana y vuelvo a dibujar mi figura :/

    – Tristán

    17 de abril de 2015 a las 15:02

  • lo hace por mi Primero activé el trazado interactivo plt.ion(). creé una figura fig. size = fig.get_size_inches()*fig.dpi devuelto array([ 640., 480.]). Lo cambié de tamaño y recalculé el tamaño y obtuve array([ 704., 270.])

    – Julien Sprock

    17 abr 2015 a las 15:07

  • Gracias, investigaré de esta manera. Solo necesito activar el trazado interactivo ahora en mi FigureCanvas 🙂

    – Tristán

    17/04/2015 a las 15:31


  • es fig.get_size_inches()*fig.dpi ancho o alto?

    – José Garvin

    15 de noviembre de 2019 a las 19:26

  • @JosephGarvin ambos: fig_width, fig_height = plt.gcf().get_size_inches()

    -Eric

    28 de enero de 2021 a las 15:34

Tal vez esta animación podría ayudar:
ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

  • Solo debe ilustrar la conexión entre dpi y figure_size, como una adición a la ya buena respuesta de Julien Spronck, sin embargo, si no encuentra esto útil, también puedo eliminar esta respuesta nuevamente.

    – Kolibril

    9 de noviembre de 2020 a las 18:12

  • Creo que sería útil y muy bueno si pones código.

    -Eric

    9 de noviembre de 2020 a las 18:33

avatar de usuario de eric
eric

Extraiga rápidamente el tamaño de la figura en pulgadas

Para obtener el ancho y la altura en pulgadas, solo uso:

fig_width, fig_height = plt.gcf().get_size_inches()
print(fig_width, fig_height)

Pongo esto aquí porque esta pregunta es el primer resultado que aparece cuando busca ‘obtener el tamaño de la figura de matplotlib’, y la API funciona de manera más natural en pulgadas, no en píxeles.

¿Ha sido útil esta solución?