26

私はこのような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を使用してテーブルのフォントサイズを変更するにはどうすればよいですか?

4

2 に答える 2

51

ドキュメントは、将来のパラメータを示唆している(通知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)
table.scale(1.5, 1.5)  # may help

これは、効果を示すためにフォントサイズを大幅に誇張した例です。

import matplotlib.pyplot as plt
# Based on http://stackoverflow.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()

ここに画像の説明を入力してください

于 2013-03-20T02:15:55.360 に答える
34

に設定auto_set_font_sizeFalse、次にset_fontsize(24)

the_table.auto_set_font_size(False)
the_table.set_fontsize(24)
于 2017-01-10T12:16:19.617 に答える