Я нарисовал кучу коробок и прикрепил стол справа от графика с кодом ниже.Я хотел нарисовать статистические столбики и дополнительную информацию в таблице рядом с ним.Каждая строка таблицы должна иметь ту же ординату, что и соответствующая полоса.Но я потерпел неудачу и получил
Как видите, таблица не только выходит из фигуры, но и полностью не синхронизирована с осью Y.
Как исправить?
def plot_time_machine_stats(machine_stats, add_table=True):
labels, bxpstats = zip(*[(k, to_bxpstats(tag_stats['time'])) for k, tag_stats in machine_stats['tag_stats'].items()])
machine_name = machine_stats['machine_name']
type_name = machine_stats['type_name']
plt.gca().bxp(bxpstats, showmeans=True, showfliers=False, vert=False)
plt.semilogx()
plt.yticks(np.arange(1, len(labels) + 1), labels)
plt.title(machine_name + '/' + type_name + '/periods')
plt.xlabel('milliseconds')
plt.ylabel('tags')
if add_table:
cell_text = []
for label, tag_stats in zip(labels, machine_stats['tag_stats'].values()):
tss = [tag_stats['time']['timestamp_first'], tag_stats['time']['timestamp_last']]
tss = [datetime.strftime(time_from_posix(ts/1000), '%Y-%m-%d %H:%M:%S') for ts in tss]
cell_text.append(tss)
cell_text.reverse()
columns = ['min_time', 'max_time']
the_table = plt.table(cellText=cell_text,
rowLabels=labels,
colLabels=columns,
loc='right')