import matplotlib.pyplot as plt
import numpy as np
from matplotlib.widgets import Slider
# Создание данных для графика
x = np.linspace(0, 10, 100)
y = np.sin(x)
# Создание фигуры и осей
fig, ax = plt.subplots()
plt.subplots_adjust(left=0.1, bottom=0.25)
line, = ax.plot(x, y)
# Создание вертикальной линии (маркера)
marker_line = ax.axvline(x=x[0], color='red', linestyle='--')
# Создание слайдера
slider_ax = plt.axes([0.1, 0.1, 0.8, 0.05])
slider = Slider(slider_ax, 'Index', 0, len(x) - 1, valinit=0, valstep=1)
# Функция для обновления маркера при изменении значения слайдера
def update(val):
index = int(slider.val)
marker_line.set_xdata(x[index])
fig.canvas.draw_idle()
# Привязка функции обновления к слайдеру
slider.on_changed(update)
# Отображение графика
plt.show()
aW1wb3J0IG1hdHBsb3RsaWIucHlwbG90IGFzIHBsdAppbXBvcnQgbnVtcHkgYXMgbnAKZnJvbSBtYXRwbG90bGliLndpZGdldHMgaW1wb3J0IFNsaWRlcgoKIyDQodC+0LfQtNCw0L3QuNC1INC00LDQvdC90YvRhSDQtNC70Y8g0LPRgNCw0YTQuNC60LAKeCA9IG5wLmxpbnNwYWNlKDAsIDEwLCAxMDApCnkgPSBucC5zaW4oeCkKCiMg0KHQvtC30LTQsNC90LjQtSDRhNC40LPRg9GA0Ysg0Lgg0L7RgdC10LkKZmlnLCBheCA9IHBsdC5zdWJwbG90cygpCnBsdC5zdWJwbG90c19hZGp1c3QobGVmdD0wLjEsIGJvdHRvbT0wLjI1KQpsaW5lLCA9IGF4LnBsb3QoeCwgeSkKCiMg0KHQvtC30LTQsNC90LjQtSDQstC10YDRgtC40LrQsNC70YzQvdC+0Lkg0LvQuNC90LjQuCAo0LzQsNGA0LrQtdGA0LApCm1hcmtlcl9saW5lID0gYXguYXh2bGluZSh4PXhbMF0sIGNvbG9yPSdyZWQnLCBsaW5lc3R5bGU9Jy0tJykKCiMg0KHQvtC30LTQsNC90LjQtSDRgdC70LDQudC00LXRgNCwCnNsaWRlcl9heCA9IHBsdC5heGVzKFswLjEsIDAuMSwgMC44LCAwLjA1XSkKc2xpZGVyID0gU2xpZGVyKHNsaWRlcl9heCwgJ0luZGV4JywgMCwgbGVuKHgpIC0gMSwgdmFsaW5pdD0wLCB2YWxzdGVwPTEpCgojINCk0YPQvdC60YbQuNGPINC00LvRjyDQvtCx0L3QvtCy0LvQtdC90LjRjyDQvNCw0YDQutC10YDQsCDQv9GA0Lgg0LjQt9C80LXQvdC10L3QuNC4INC30L3QsNGH0LXQvdC40Y8g0YHQu9Cw0LnQtNC10YDQsApkZWYgdXBkYXRlKHZhbCk6CiAgaW5kZXggPSBpbnQoc2xpZGVyLnZhbCkKICBtYXJrZXJfbGluZS5zZXRfeGRhdGEoeFtpbmRleF0pCiAgZmlnLmNhbnZhcy5kcmF3X2lkbGUoKQoKIyDQn9GA0LjQstGP0LfQutCwINGE0YPQvdC60YbQuNC4INC+0LHQvdC+0LLQu9C10L3QuNGPINC6INGB0LvQsNC50LTQtdGA0YMKc2xpZGVyLm9uX2NoYW5nZWQodXBkYXRlKQoKIyDQntGC0L7QsdGA0LDQttC10L3QuNC1INCz0YDQsNGE0LjQutCwCnBsdC5zaG93KCk=