Я пытаюсь нарисовать зигзагообразную линию на другой линии.В моей базовой линии (цена) есть верхняя и нижняя точки.Я пытаюсь соединить верхнюю и нижнюю точки линией.Это пример:
Это мой набор данных:
И вот как далеко я могу зайти:
Любая помощь приветствуется.
Редактировать 1:
Это мой не рабочий код:
trend_index = target_out.columns.get_loc("trend_shifted")
close_index = target_out.columns.get_loc("price_close")
for i in range(1, len(target_out)):
if target_out.iloc[i, trend_index] == target_out.iloc[i-1, trend_index] and target_out.iloc[i-1, trend_index] is not None:
target_out.iloc[i, trend_index] = np.nan
target_out.iloc[i-1, trend_index] = target_out.iloc[i-1, close_index]
# multiple line plot
plt.plot( 'ind', 'price_close', data=target_out, marker='o', markerfacecolor='blue', markersize=12, color='skyblue', linewidth=4)
plt.plot( 'ind', 'trend_shifted', data=target_out, marker='', color='olive', linewidth=2)
plt.legend()
trend_shifted
столбец имеет ones
и zeros
.Первый элемент последовательных единиц и нулей - это фактически верхняя и нижняя точки зигзага.Остальные пункты не важны.После определения верхней и нижней точек мне нужно нарисовать линию, но поскольку цена и тренд имеют относительно разные значения, график не сбалансирован (я имею в виду, что цена равна 0,00001, но тренд равен 0 и 1)
Редактировать 2:
@ rgk код работает.Это вывод: