Sure, here you go:
import plotly.express as px
import pandas as pd
import numpy as np
from natsort import natsorted
df = pd.DataFrame(dict(
value = np.random.rand(30),
bucket = ["[1-5)", "[10-15)", "[5-10)"]*10
))
px.violin(df, x="bucket", y="value", color="bucket",
category_orders={"bucket": natsorted(df["bucket"].unique())})
