У меня есть график на python, ось x - это дата-время, ось y - это процент от того, что я измеряю.
Мне удалось рассчитать список средних и максимальных чисел для данных за каждые 6 часов на графике. Я пытаюсь нарисовать соответствующий текст, где оба идеально выровнены с каждым списком, где интервал ровный, оба они правильно выровнены и т. Д.
Код для вычисления среднего и максимального и превращения в список:
meantime = df.set_index('datetime').resample('6h').mean()
maxtime = df.set_index('datetime').resample('6h').max()
list_timemean = meantime['l16'].tolist()
list_timemax = maxtime['l16'].tolist()
list_timemeanround = [ round(x, 0) for x in list_timemean ]
list_timemaxround = [ round(x, 0) for x in list_timemax ]
list_timemeanint = list(map(int, list_timemeanround))
list_timemaxint = list(map(int, list_timemaxround))
Код для объединения в строку (моя попытка ее разнести). Я попытался .формат с результатами, которые не работают для меня.
q = " ".join([str(x) for x in list_timemeanint])
q2 = " ".join([str(x) for x in list_timemaxint])
Пример: отформатированное усилие
q1 = " ".join(['{:>2}'.format(x) for x in list_timemeanint])
код для построения текста:
ax.text(0.035, 0.97, (q), horizontalalignment='left',
verticalalignment='baseline', fontsize=9.5, transform=ax.transAxes)
ax.text(0.035, 0.92, (q2), horizontalalignment='left',
verticalalignment='baseline', fontsize=9.5, transform=ax.transAxes)
Рисунок для справки. Как вы можете видеть, как только числа начинают различаться от однозначного к двузначному, они начинают неравномерно разделяться. Я хочу, чтобы у них был равномерный интервал в верхней части графика, как этот (из случайного примера, который я обнаружил, что-то похожее:
Я думал о том, чтобы попытаться выяснить, как добавить символ к однозначным числам для равномерного пробела, но это был тупик. Немного позаботился о том, чтобы сделать их меткой x на графике для выравнивания с датой и временем, но это казалось трудным или невозможным.
В идеале я мог бы выравниваться каждые 6 часов, но не так важно быть идеальным с этим шагом. Просто хотите, чтобы они были одинаковыми или фиксированной по всей длине графика.