Добавление статических точек к ползунку графикаPython

Программы на Python
Anonymous
Добавление статических точек к ползунку графика

Сообщение Anonymous »


Я пытаюсь добавить статические точки на график с помощью ползунков, при этом каждая статическая точка имеет вертикальную линию к линии скользящей функции, чтобы отобразить, как выглядят затраты в регрессии. Как бы мне это сделать?

Я пробовал разные методы добавления точек, но точки в конечном итоге исчезали, я думаю, из-за метода обновления ползунка или перемещения с помощью ползунка пересечения оси y, который использует метод обновления.
@cost_bp.route('/page1') определение стоимости страницы1(): # Создаем фигуру рис = идти.Рисунок() # Добавляем следы, по одному на каждый шаг ползунка для веса в np.arange(-5, 5, 0,25): fig.add_trace( идти.Scatter( видимый = Ложь, линия=dict(color="#00CED1", ширина=2), х=np.arange(0, 10, 0,01), y=вес * np.arange(0, 10, 0,01) ) ) # Сделать видимой первую трассу fig.data[10].visible = Истина # Создать и добавить слайдер вес_шагов = [] для i, wval в enumerate(np.arange(-5, 5, 0.25)): шаг = дикт( метод="обновление", args=[{"visible": [i == j для j в диапазоне(len(fig.data))]}], label=f"{wval}" ) шаг["args"][0]["visible"] = True # Переключить i-ю трассу на "видимую" Weight_steps.append(шаг) вес_слайдер = dict( активный=30, currentvalue={"prefix": "Slope(w): "}, площадку = {"т": 50}, шаги=weight_steps, ширина тика = 0,5, длина=.5, х=.5 ) yint_steps = [] для i, bval в enumerate(np.arange(0, 8, .25)): y_values ​​= [вес * np.arange(0, 10, 0,01) + bval для веса в np.arange(-5, 5, 0,25)] шаг = дикт( метод="restyle", # Используйте метод "restyle" для обновления трассировок args=["y", y_values], # Обновляем значения y на основе выбранного y-перехвата label=f"{bval}" ) yint_steps.append(шаг) yint_slider = dict( активный=5, currentvalue={"prefix": "Y-Intercept(b): "}, площадку = {"т": 50}, шаги = yint_steps, ширина тика = 0,5, длина=.5, х=0 ) ползунки = [weight_slider, yint_slider] static_points = [ диктовать( х=0, у=0, режим="линии", линия=dict(color="#00CED1", ширина=2), name="Происхождение" ), диктовать( х=10, у=0, режим="линии", линия=dict(color="#00CED1", ширина=2), name="Ось X" ), диктовать( х=0, у=8, режим="линии", линия=dict(color="#00CED1", ширина=2), name="Ось Y" ) ] fig.update_layout( title="Обновляемая линейная функция", шаблон = 'простой_белый', слайдеры = ползунки, xaxis=dict(range=[0,10], dtick=1, showgrid=True), yaxis=dict(range=[0,8], dtick=1, showgrid=True), ширина=900, высота=600, static_points=static_points ) график = fig.to_html() return render_template('cost/page1.html', prev_page='page3', next_page='page2',graph=graph)

Вернуться в «Python»