pyplot font python matplotlib

python - font - Dimensiones del texto Matplotlib



plot title font size matplotlib (2)

No pude encontrar una forma de obtener las extensiones de texto como representadas en un diagrama, 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 de él:

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 descifrar. Tal vez alguien más puede ayudar. La escala parece estar apagada y no sé si es un problema de dpi o un error o qué, pero este ejemplo explica bastante:

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()

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

Gracias

Editar : Creo que descubrí 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


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