Я пытаюсь создать слайдер для времени в Jupyter Notebook с помощью ipywidgets. Я хотел бы взять табличные экспериментальные данные (см. Рисунок ниже) и контролировать границы значений с помощью ползунка. График должен представлять собой график смещения силы, развивающийся во времени:
Это мой python код:
from ipywidgets import IntSlider, interact, FloatSlider
u = fdat1['C_1_Weg_R4[mm]'].values
f = fdat1['C_1_Kraft_R4[kN]'].values
t = fdat1['S/No'].values
@interact(t = IntSlider(min = 0, max = max(fdat0['S/No'].values)))
def aa_(t):
plt.plot(f[t],u[t])
plt.grid()
plt.xlabel("force [kN]")
plt.ylabel("displacement [mm]")
plt.title("Load-displacement curve for \nexperiment")
fdat1 - имя табличных данных. Я также рассмотрел использование столбца «C_1_Zeit [s]» в качестве значений ползунка, но это не целочисленные значения.
Проблема в том, что ничего не отображается, но слайдер работает, а график меняет масштаб.
Я уже некоторое время ищу в Интернете и буду очень признателен за помощь.
Заранее спасибо!
Редактировать:
from ipywidgets import IntSlider, interact, FloatSlider
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.DataFrame.from_records(
[np.linspace(0,30, num=30), np.linspace(0,20, num=30), ]).T
df.columns=['A', 'B']
@interact(t = IntSlider(min = 0, max = 21))
def aa_(t):
plt.scatter(df['A'], df['B'])
plt.grid()
plt.xlabel("force [kN]")
plt.ylabel("displacement [mm]")
plt.title("Load-displacement curve for \nexperiment")
plt.xlim(0, 30)
plt.ylim(0, 30)