pyplot python matplotlib pylot

python - ¿Cómo cambiar el tamaño de fuente de la tabla con matplotlib.pyplot?



plot python 3 (2)

Estoy dibujando una tabla con pyplot como esta:

sub_axes.table(cellText=table_vals, colWidths = [0.15, 0.25], rowLabels=row_labels, loc=''right'')

Me gustaría cambiar el tamaño de fuente del contenido de la tabla, y encontré que hay una propiedad de fontsize , por favor ref la definición de ''tabla'' .

Entonces se convierte en:

sub_axes.table(cellText=table_vals, colWidths = [0.15, 0.25], rowLabels=row_labels, fontsize=12, loc=''right'')

Pero cuando ejecuto el código, recibí un error:

TypeError: table() got an unexpected keyword argument ''fontsize''

¿Esta propiedad está obsoleta? ¿Y cómo puedo cambiar el tamaño de fuente de la tabla con pyplot?


Creo que la documentación sugiere un parámetro-para-ser (el fontsize notificación no es un enlace como los otros parámetros) o tal vez es un poco engañoso en este momento. No hay un parámetro fontsize .

Buscando en el código fuente , encontré el método Table.set_fontsize :

table = sub_axes.table(cellText=table_vals, colWidths = [0.15, 0.25], rowLabels=row_labels, loc=''right'') table.set_fontsize(14) the_table.scale(1.5, 1.5) # may help

Aquí hay un ejemplo con un tamaño de letra extremadamente exagerado solo para mostrar el efecto.

import matplotlib.pyplot as plt # Based on http://.com/a/8531491/190597 (Andrey Sobolev) fig = plt.figure() ax = fig.add_subplot(111) y = [1, 2, 3, 4, 5, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1] col_labels = [''col1'', ''col2'', ''col3''] row_labels = [''row1'', ''row2'', ''row3''] table_vals = [[11, 12, 13], [21, 22, 23], [31, 32, 33]] the_table = plt.table(cellText=table_vals, colWidths=[0.1] * 3, rowLabels=row_labels, colLabels=col_labels, loc=''center right'') the_table.set_fontsize(24) the_table.scale(2, 2) plt.plot(y) plt.show()


Establezca el auto_set_font_size en False , luego set_fontsize(24)

the_table.auto_set_font_size(False) the_table.set_fontsize(24)