I участок битрейта во время с следующей функциейВремя в оси х Matplotlib перекрываться
#!/usr/bin/python3
import matplotlib.pyplot as plt
import datetime
def plotBitrate(time,bitrate,filename):
time = [datetime.datetime.strptime(elem, '%H:%M:%S.%f') for elem in time]
plt.plot(time,bitrate)
plt.xlabel('Time')
plt.ylabel('Bitrate kbits/s')
plt.autofmt_xdate()
plt.savefig(filename, dpi = 300)
plt.close()
данные выглядят следующим образом
Time bitrate
00:00:00.95 33528.2
00:00:01.47 30013.2
00:00:01.99 26238.5
Но на этот раз результаты формата в перекрывающиеся клещи в участке
Я попытался отформатировать ось x так, чтобы она была с plt.autofmt_xdate() но это не сработало, я получаю AttributeError: модуль matplotlib.pyplot не имеет атрибута autofmt_xdate.
Можно ли отформатировать ось x так, чтобы тики не перекрывались?
С наилучшими пожеланиями
Существует несколько способов, чтобы тики не перекрывались: (a) Используйте меньший размер шрифта, (b) используйте меньше тиков (т. Е. Показываете максимум N тиков), (c) изменяете ориентацию метки метки (например, по вертикали). В каком направлении вы хотите поехать сюда? – ImportanceOfBeingErnest
Когда я меняю ориентацию на ex plt.xticks (время, вращение = 45), формат времени теряется и отображается неверно. Может быть, меньшее количество тиков или максимальное количество тиков - лучшее решение? – S4M1R
Вы пробовали 'plt.gcf(). Autofmt_xdate()'? – ImportanceOfBeingErnest