Matplotlib表格绘图,如何在图形和表格之间添加间隙。

6
如何在Matplotlib中绘制表格时添加图形和表格之间的间隔?
这是我的代码: 链接
import pandas as pd
import matplotlib.pyplot as plt

dc = pd.DataFrame({'A' : [1, 2, 3, 4],'B' : [4, 3, 2, 1],'C' : [3, 4, 2, 2]})

plt.plot(dc)
plt.legend(dc.columns)
dcsummary = pd.DataFrame([dc.mean(), dc.sum()],index=['Mean','Total'])

plt.table(cellText=dcsummary.values,colWidths = [0.25]*len(dc.columns),
        rowLabels=dcsummary.index,
        colLabels=dcsummary.columns,
        cellLoc = 'center', rowLoc = 'center',
        loc='bottom')
# loc='top'
fig = plt.gcf()

plt.show()

结果看起来像这样:

plt.table

也就是说,表头挡住了x轴标签。
如何在图形和表格之间添加间隙?谢谢。

1个回答

9
你应该使用bbox参数:
plt.table(cellText=dcsummary.values,colWidths = [0.25]*len(dc.columns),
rowLabels=dcsummary.index,
colLabels=dcsummary.columns,
cellLoc = 'center', rowLoc = 'center',
loc='bottom', bbox=[0.25, -0.5, 0.5, 0.3])

例如,您可以使用此位置:bbox=[0.1,-0.3,0.9,0.2] - Vasya Pravdin
太好了!请给我提供一个bbox文档的参考资料(或者解释一下它们是什么以及为什么会这样工作)。谢谢。 - xpt
@xpt 这里有很多关于它的信息http://matplotlib.org/ - Vasya Pravdin
谢谢提供链接。但我还是不太明白如何查看它们。那么这四个值0.1、-0.3、0.9、0.2具体是用来做什么的呢?为什么选择这些值(即为什么它们比0.25、-0.5、0.5、0.3更好)?哪一个控制图表和表格之间的间隔?谢谢。 - xpt
8
第一个坐标表示x轴上的移动量,第二个坐标表示绘图和文本框(在您的情况下为表格)之间的间距,第三个坐标表示文本框的宽度,第四个坐标表示文本框的高度。 - Vasya Pravdin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接