Python 如何修改表格的位置

Python 如何修改表格的位置,python,matplotlib,Python,Matplotlib,我可以把桌子放在右边,但结果是桌子不能完全显示出来。我尝试使用ax,ax\u table=plt.subplot(),但效果并不理想 我试着用表中的“bbox”,但我在网上搜索后不太明白它的意思 如何修改表格的位置并将其放置在绘图的右上角(绘图外部) 现在 把它弄明白了。 张贴答案 希望能有所帮助 我混淆了子地块的用法。通过使用子批次,它将自动生成suplot。如果只想添加表,则需要使用行“ax2.axis('off')”。我还修改了字体大小与 可能的重复我见过许多其他人在这方面重复,这只是答案

我可以把桌子放在右边,但结果是桌子不能完全显示出来。我尝试使用ax,ax\u table=plt.subplot(),但效果并不理想

我试着用表中的“bbox”,但我在网上搜索后不太明白它的意思

如何修改表格的位置并将其放置在绘图的右上角(绘图外部)

现在

把它弄明白了。 张贴答案

希望能有所帮助

我混淆了子地块的用法。通过使用子批次,它将自动生成suplot。如果只想添加表,则需要使用行“
ax2.axis('off')
”。我还修改了字体大小与


可能的重复我见过许多其他人在这方面重复,这只是答案之一。把它挖出来!您有不同的选项:使用表上的bbox重新定位,使用绘图上的bbox使其变小。您还可以创建两个大小不同的轴,一个用于绘图,一个用于表格。@Mathieu我尝试了您提到的选项,但没有成功。是bbox问题的参数吗?我尝试了一些bbox设置,还尝试创建了两个轴。如果我创建两个轴,图形将失去控制。。。
import csv
x1=["2018-08-27 15:21:49","2018-08-27 15:21:52","2018-08-27 15:21:53","2018-08-27 15:21:56"]
y1=["5523","3512","6732","3383"]
L=[]
with open("test.csv") as f:
    reader=csv.reader(f)
    for row in reader:
        print(row)
        L.append(row)
    print(L)

fig,ax=plt.subplots()
plt.subplots_adjust(left=0.2, bottom=0.25)

col_lables=['tiestamp','loadingtime']
# row_lables=['row1','row2','row3']
table_val=L
row_colors=['red','gold','green']

##bbox=[left, bottom, width, height]
my_table=plt.table(cellText=table_val,colWidths=[0.3]*5,colLabels=col_lables,
                   colColours=row_colors,loc='right')


plt.title("Static Graph & Table")

x11=[datetime.strptime(d,"%Y-%m-%d %H:%M:%S") for d in x1]
y11=[float(i) for i in y1]

date_format=mdates.DateFormatter("%Y-%m-%d %H:%M:%S")
ax.xaxis.set_major_formatter(date_format)
ax.xaxis.set_major_locator(mdates.DayLocator())

plt.xlabel("Date")
plt.ylabel("Loading time")

plt.plot(x11,y11)
ax.yaxis.set_ticks(y11)
ax.xaxis.set_ticks(x11)

plt.gcf().autofmt_xdate()
# plt.grid()
plt.show()
fig,(ax1,ax2)=plt.subplots(1,2,figsize=(10,6))

col_lables=['tiestamp','loadingtime']
# row_lables=['row1','row2','row3']
table_val=L
row_colors=['red','gold','green']

ax2.axis('off')
##bbox=[left, bottom, width, height]
my_table=ax2.table(cellText=table_val,colWidths=[0.3]*4,colLabels=col_lables,
                   colColours=row_colors,loc='best', bbox=[0,0.5,1,0.3])
my_table.set_fontsize(24)
my_table.scale(2,2)

ax1.set_title("Static Graph & Table")

x11=[datetime.strptime(d,"%Y-%m-%d %H:%M:%S") for d in x1]
y11=[float(i) for i in y1]

date_format=mdates.DateFormatter("%Y-%m-%d %H:%M:%S")
ax1.xaxis.set_major_formatter(date_format)
ax1.xaxis.set_major_locator(mdates.DayLocator())

ax1.set_xlabel("Date")
ax1.set_ylabel("Loading time")

ax1.plot(x11,y11)

ax1.yaxis.set_ticks(y11)
ax1.xaxis.set_ticks(x11)

plt.gcf().autofmt_xdate()

# plt.grid()
plt.show()