在Matplotlib.table

时间:2019-06-27 03:08:25

标签: python python-3.x matplotlib

我希望表格中的特定单元格是“中心”对齐的。

我使用了cell._text.set_horizo​​ntalalignment('center')和cell._text.set_verticalalignment('center'),但它并未对单元格进行任何更改。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

a = np.array([[1,2,3],[4,5,6],[7,8,9]])

gs = gridspec.GridSpec(4, 2)
subplot=plt.subplot(gs[0, 0]) 

tab = plt.table(cellText=a,bbox = [-0.15,0,1.25,1])
subplot.axis('off')

for key, cell in tab.get_celld().items():
    row, col = key
    if row==1 and col==1:
        cell._text.set_weight('bold')
        cell._text.set_horizontalalignment('center') 
        cell._text.set_verticalalignment('center')
plt.show()

cell._text.set_weight('bold')将文本设置为粗体。 但是文本对齐方式不起作用。

1 个答案:

答案 0 :(得分:1)

将以下代码添加到我的脚本即可达到目的。谢谢

cells = tab.properties()["celld"]
cells[1, 1]._loc = 'center'