Why plotly.express timeline won't show if unit='us' is used?

I am new to Plotly and Python. I am trying to use plotly.express timeline to plot process during event log. Here is a simple code to show what I wanted to achieve:

import plotly.express as px
import pandas as pd

df = pd.DataFrame([
dict(Task=β€œWk1”, Start=β€˜2.1’, End=β€˜5.5’, Category=β€˜Group1’),
dict(Task=β€œWk2”, Start=β€˜5.5’, End=β€˜10.0’, Category=β€˜Group1’),
dict(Task=β€œWk3”, Start=β€˜22.3’, End=β€˜28.9’, Category=β€˜Group1’),
dict(Task=β€œWk4”, Start=β€˜12.6’, End=β€˜14.0’, Category=β€˜Group2’),
dict(Task=β€œWk5”, Start=β€˜14.0’, End=β€˜18.3’, Category=β€˜Group2’),
dict(Task=β€œWk6”, Start=β€˜18.3’, End=β€˜20.8’, Category=β€˜Group2’)
])

df[β€˜Start’] = pd.to_datetime(df[β€˜Start’], unit=β€˜s’)
df[β€˜End’] = pd.to_datetime(df[β€˜End’], unit=β€˜s’)

fig = px.timeline(df, x_start=β€˜Start’, x_end=β€˜End’, y=β€˜Category’, color=β€˜Task’, title=β€œunit=β€˜s’”)
fig.show()

Because my process durations are in microseconds, so the β€˜Start’ and β€˜End’ unit should actually be β€˜us’. However, if I change the unit in pd.to_datetime() to β€˜us’, I only get a total blank drawing.

I thought the accuracy of the datetime is datetime64[ns], which I assume is up to the nanosecond. Please help.

Below is my plot results:

Anyone can help me with this? I really appreciate it.

For some reason, I think the minimum duration I can plot is 1 ms. Any duration shorter than this won’t show on the plot. However, the dtype: datetime64[ns] has much finer resolution.
Is this the limitation of plotly.express timeline plot?