gpt4 book ai didi

Python Matplotlib 如何只获取表格

转载 作者:太空宇宙 更新时间:2023-11-04 00:36:05 24 4
gpt4 key购买 nike

我修改了 example code并让表格按照我想要的方式工作,但是,仍然有一个框,图表会在表格下方。我想摆脱那个盒子。请注意,该表有 5 行(包括列标签)和 8 列(包括行标签)。

相关代码:

columns = ('Last', 'High', 'Low', 'Chg.', 'Chg. %', 'Time', 'T?')
rows = ['Gold', 'Silver', 'Copper', 'Aluminum']
scatter_x = (1, 2, 3)
scatter_y = (1224.53, 1231.76, 1228.70)
fig = plt.figure(1)
gridspec.GridSpec(4,3)

#Table - Main table
plt.subplot2grid((4,3), (0,0), colspan=2, rowspan=2)
plt.table(cellText=data_list,
rowLabels=rows,
colLabels=columns,
loc='top')
plt.subplots_adjust(left=0.2,top=0.8)
plt.yticks([])
plt.xticks([])

#Gold Scatter - Small scatter to the right
plt.subplot2grid((4,3), (0,2))
plt.scatter(scatter_x, scatter_y)
plt.ylabel('Gold Last')


fig.tight_layout()
fig.set_size_inches(w=6, h=5)
fig_name = 'plot.png'
fig.savefig(fig_name)
plt.show()

它产生这个: See the empty square below the table

一个问题:如何设置表格的内边距,使其不会在顶部和左侧被截断?

最佳答案

表格可以添加到轴内或轴外的不同位置。这是由 loc 参数决定的。在这种情况下,您似乎不想让表格位于轴外,而是在轴内。因此不要使用任何"top", "bottom", "left", "right",而是例如loc="上中心"

然后您可以通过 ax.axis("off") 隐藏它自己的轴。为了不让行标题被图形边距裁剪,您可以决定不使用紧凑布局

完整示例:

import matplotlib.pyplot as plt
import numpy as np

columns = ('Last', 'High', 'Low', 'Chg.', 'Chg. %', 'Time', 'T?')
rows = ['Gold', 'Silver', 'Copper', 'Aluminum']

data_list = np.random.randint(10,90, size=(len(rows), len(columns)))
scatter_x = (1, 2, 3)
scatter_y = (1224.53, 1231.76, 1228.70)

fig = plt.figure(1)
fig.subplots_adjust(left=0.2,top=0.8, wspace=1)

#Table - Main table
ax = plt.subplot2grid((4,3), (0,0), colspan=2, rowspan=2)
ax.table(cellText=data_list,
rowLabels=rows,
colLabels=columns, loc="upper center")

ax.axis("off")

#Gold Scatter - Small scatter to the right
plt.subplot2grid((4,3), (0,2))
plt.scatter(scatter_x, scatter_y)
plt.ylabel('Gold Last')

fig.set_size_inches(w=6, h=5)
plt.show()

enter image description here

关于Python Matplotlib 如何只获取表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43990738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com