首页 > 解决方案 > Matplotlib 中表格周围的空格

问题描述

我想使用 Matplotlib 创建一个表格来给出工程计算的结果。但是,我无法摆脱桌子周围的空白。我希望 - 几乎 - 表格周围没有空格,因此用户可以复制 png 并在他们的报告中使用它。


import matplotlib.pyplot as plt
FS_VRM2002 = 1.4
FS_CTRS2013 = 1.3
FS_PSS2017 = 1.2
FS_A2012 = 1.1
FS_KLVF2017 = 1.0
FS_list = []
Name_list = []
if True:
    FS_list.append(FS_VRM2002)
    Name_list.append("Vermeer, Ruse & Marcher (2002)")
if True:
    FS_list.append(FS_CTRS2013)
    Name_list.append("Carranza-Torres et. al. (2013)")
if True:
    FS_list.append(FS_PSS2017)
    Name_list.append("Paternesi, Schweiger & Scarpelli (2017)  ")
if True:
    FS_list.append(FS_A2012)
    Name_list.append("Anagnostou (2012) ")
if True:
    FS_list.append(FS_KLVF2017)
    Name_list.append("Kavvadas, Litsas, Vazaios & Fortsakis (2017)")

FS_list_table = []
for i, j in enumerate(FS_list):
    FS_list_table.append([j])
    
fig, ax = plt.subplots(figsize=(6,5))


table = ax.table(
    cellText=FS_list_table,
    colLabels=["Factor of Safety"],
    rowLabels=Name_list,
    loc="center",
    cellLoc="center",
    colWidths=[0.2],
    rowLoc="center",
)
ax.axis("tight")
ax.axis("off")

结果:

在此处输入图像描述

您可以在此处获得复制版本: https ://share.streamlit.io/akrolsmir/streamlit-snippet/main?snippet_id=OEmnTTRC

标签: pythonmatplotlib

解决方案


如果您想要整个 figsize,请使用box=[x0,x1,y0,y1].

fig, ax = plt.subplots(figsize=(5,2.5))
table = ax.table(
    cellText=FS_list_table,
    colLabels=["Factor of Safety"],
    rowLabels=Name_list,
    loc="center",
    cellLoc="center",
    colWidths=[0.2],
    rowLoc="center",
    bbox=[0,0,1,1]
)
ax.axis("tight")
ax.axis("off")

plt.show()

在此处输入图像描述


推荐阅读