我正在尝试从一些excel文件中读取数据,并在清理之后。我正在尝试绘制直方图和包含不同行和列值的表。我能够看到直方图,但看不到表格。我为此使用matplotlib。
我尝试更改表格的位置,并且也使用了zorder。我尝试禁用历史记录图,但仍然看不到表格。下面是我尝试过的代码:
reports_data= [
(self.data_left_camera, 'left_points_results.xlsx'),
(self.data_right_camera,
'right_points_results.xlsx'),
(self.data_front_camera,
'front_points_results.xlsx'),
(self.data_rear_camera, 'rear_points_results.xlsx')]
rep_path = os.path.join(self.path, self.test_case)
rec_list = []
dirnames = os.listdir(rep_path)
for dir in dirnames:
if dir.__contains__("mi5"):
rec_list.append(os.path.join(rep_path,dir))
for rec in rec_list:
rec_report = os.path.join(rep_path, rec)
if os.path.isdir(rec_report):
for output, report in reports_data:
xl = pd.ExcelFile(os.path.join(rec_report, report), encoding = 'utf8')
df = xl.parse("Sheet1")
sec_ranges = df['sl'].dropna().tolist()
range_val = []
for det_range in sec_ranges:
ranges=ast.literal_eval(det_range)
for rang in ranges:
range_val.append(round(rang[1],1))
range_df = pd.DataFrame(range_val,columns=["range"])
range_df['frequency'] = range_df.groupby('range')['range'].transform('count')
range_df = range_df.drop_duplicates()
fig,ax = plt.subplots(figsize =(20,8))
val =plt.hist(range_df["range"],bins=self.range_values,align='mid',edgecolor='black')
plt.xlabel("Section Range")
plt.ylabel("Number of Frames")
plt.xlim([self.range_values[0],self.range_values[-1]])
plt.xticks(self.range_values)
ax.set_title("Number of frames vs Ranges")
c = list(val[0])
d = list(val[1][:-1])
c_t = [c,d]
ax.table(cellText=c_t, rowLabels=["frames", "range"],
loc='best', cellLoc='center',
bbox=[0.8, -0.25, 0.9, 0.1],zorder = 1)
plt.axis("auto")
plt.tight_layout()
plt.show()
我正在附上我得到的输出图。在这里,我只得到直方图,而不是表格。