matplotlib テーブルの個々の列の幅を指定する方法はありますか?
テーブルの最初の列には 2 ~ 3 桁の ID しか含まれていません。この列を他の列よりも小さくしたいのですが、うまく機能しないようです。
次のようなテーブルがあるとします。
import matplotlib.pyplot as plt
fig = plt.figure()
table_ax = fig.add_subplot(1,1,1)
table_content = [["1", "Daisy", "ill"],
["2", "Topsy", "healthy"]]
table_header = ('ID', 'Name','Status')
the_table = table_ax.table(cellText=table_content, loc='center', colLabels=table_header, cellLoc='left')
fig.show()
(奇妙なトリミングは気にしないでください。実際のテーブルでは発生しません。)
私が試したのはこれです:
prop = the_table.properties()
cells = prop['child_artists']
for cell in cells:
text = cell.get_text()
if text == "ID":
cell.set_width(0.1)
else:
try:
int(text)
cell.set_width(0.1)
except TypeError:
pass
上記のコードは効果がないようです - 列はまだすべて同じ幅です。(をcell.get_width()
返す0.3333333333
ので、それは確かにセル幅だと思いますwidth
...では、何が間違っているのでしょうか?
どんな助けでも大歓迎です!