Dimensiones del texto de Matplotlib.

¿Es posible determinar las dimensiones de un objeto de texto matplotlib? ¿Cómo puedo encontrar el ancho y la altura en píxeles?

Gracias

Edit : Creo que encontré una manera de hacer esto. He incluido un ejemplo a continuación.

import matplotlib as plt f = plt.figure() r = f.canvas.get_renderer() t = plt.text(0.5, 0.5, 'test') bb = t.get_window_extent(renderer=r) width = bb.width height = bb.height 

No pude encontrar una manera de obtener la extensión del texto como se representa en un gráfico incluso después de un evento draw ().

Pero aquí hay una forma de representar solo el texto y obtener todo tipo de información geométrica:

 t = matplotlib.textpath.TextPath((0,0), 'hello', size=9, prop='WingDings') bb = t.get_extents() #bb: #Bbox(array([[ 0.759375 , 0.8915625], # [ 30.4425 , 5.6109375]])) w = bb.width #29.683125 h = bb.height #4.7193749 

Editar

He estado jugando con esto por un tiempo y tengo una inconsistencia que no puedo resolver. Tal vez alguien más pueda ayudar. La escala parece desactivada y no sé si es un problema de ppp o un error o qué, pero este ejemplo explica bastante bien:

 import matplotlib from matplotlib import pyplot as plt plt.cla() p = plt.plot([0,10],[0,10]) #ffam = 'comic sans ms' #ffam = 'times new roman' ffam = 'impact' fp = matplotlib.font_manager.FontProperties( family=ffam, style='normal', size=30, weight='normal', stretch='normal') txt = 'The quick brown fox' plt.text(100, 100, txt, fontproperties=fp, transform=None) pth = matplotlib.textpath.TextPath((100,100), txt, prop=fp) bb = pth.get_extents() # why do I need the /0.9 here?? rec = matplotlib.patches.Rectangle( (bb.x0, bb.y0), bb.width/0.9, bb.height/0.9, transform=None) plt.gca().add_artist(rec) plt.show() 
 from matplotlib import pyplot as plt f = plt.figure() r = f.canvas.get_renderer() t = plt.text(0.5, 0.5, 'test') bb = t.get_window_extent(renderer=r) width = bb.width height = bb.height