import endaq
endaq.plot.utilities.set_theme('endaq_light')
import pandas as pd
import plotly.express as px

# Get Acceleration Data
accel = pd.read_csv('https://info.endaq.com/hubfs/Plots/bearing_data.csv', index_col=0)

# Calculate Metrics
metrics = endaq.calc.stats.shock_vibe_metrics(accel, include_resultant=False, freq_splits=[0, 65, 300, None])

# Generate Figure with Bar Plots
fig = px.bar(
    metrics,
    x="variable", y="value", color='variable',
    hover_data = ["units"],
    facet_col="calculation", facet_col_wrap=3)
fig.update_yaxes(matches=None, visible=False)
fig.update_xaxes(visible=False)
fig.for_each_annotation(lambda a: a.update(text=a.text.split("=")[-1]))
fig.show()