有没有办法指定 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
确实是单元格宽度......那我做错了什么?
任何帮助,将不胜感激!