Как изменить размер шрифта таблицы с помощью matplotlib.pyplot?
Я рисую таблицу с pyplot следующим образом:
sub_axes.table(cellText=table_vals,
colWidths = [0.15, 0.25],
rowLabels=row_labels,
loc='right')
Я хотел бы изменить размер шрифта содержимого таблицы, и обнаружил, что есть fontsize
свойство, пожалуйста, уточните определение "таблица".
Так и становится:
sub_axes.table(cellText=table_vals,
colWidths = [0.15, 0.25],
rowLabels=row_labels,
fontsize=12,
loc='right')
Но когда я выполняю код, я получаю сообщение об ошибке:
TypeError: table() got an unexpected keyword argument 'fontsize'
Является ли эта собственность устаревшей? И как я могу изменить размер шрифта таблицы с pyplot?
2 ответа
Я думаю, что документация либо намекает на будущий параметр (уведомление fontsize
не является ссылкой, как другие параметры) или, возможно, в настоящее время немного вводит в заблуждение. Здесь нет fontsize
параметр.
Копаясь в исходном коде, я нашел 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
Вот пример с сильно преувеличенным размером шрифта, чтобы показать эффект.
import matplotlib.pyplot as plt
# Based on http://stackru.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.auto_set_font_size(False)
the_table.set_fontsize(24)
the_table.scale(2, 2)
plt.plot(y)
plt.show()
Установить auto_set_font_size
в False
, затем set_fontsize(24)
the_table.auto_set_font_size(False)
the_table.set_fontsize(24)