Чтобы сделать его максимально простым, я пытаюсь построить график зависимости времени от времени для данных из файла .DAT. Я строю точки каждые 10 минут в течение 24 часов. Из-за того, как файл данных отформатирован и моя реализация, временные данные представляют собой список строк.
У меня есть отдельный список, который дает значение ошибки для каждого экземпляра ставки. Если ошибка! = 0, я хочу опустить точку тарифа на графике, но оставить ось X для времени такой же.
Пока что мне остается только добавить список значений тарифа и времени в соответствии с оператором if, говорящим:
for line in file:
columns = line.split()
#throws out all instances of 0 in specified column
if(int(columns[5]) == 0:
hhmmss.append(str(columns[1]))
lv0rate.append(float(columns[3]))
error.append(int(columns[5]))
Однако это приводит к тому, что моя ось х "сжимается" для ошибочных точек, и я хочу, чтобы ось х оставалась неизменной в течение 24 часов период.
Я строю это на сетке 3x3, поэтому мои управляющие функции для настройки фигуры выглядят так:
# plot
fig, axs = plt.subplots(3, 3)
fig.subplots_adjust(left=0.2, wspace=0.6)
make_plot(axs)
# alignment of axes
fig.align_ylabels(axs[:, 1])
# set the x major locator
for axi in axs.flat:
axi.xaxis.set_major_locator(plt.MaxNLocator(30))
fig
for axs in fig.axes:
plt.sca(axs)
plt.xticks(rotation=70)
plt.rcParams['axes.grid'] = True
plt.show()
Спасибо!