Filled Area Plots - fill color depends on value

Ok, i finally understand the topic, but somehow it is not exactly, what i was looking for:

Replacing values greater than a number in pandas dataframe:

df[‘Col3’].values[df[‘Col2’] > Limit] = Limit

After that plot the both filled area plots (tozeroy & tonexty):

import plotly.graph_objects as go

fig = go.Figure()
fig.add_trace(go.Scatter(x=df[‘Col1’], y=df[‘Col3’], fill=‘tozeroy’,
mode=‘none’ # override default markers+lines
))
fig.add_trace(go.Scatter(x=df[‘Col1’], y=df[‘Col2’], fill=‘tonexty’,
mode= ‘none’))

fig.show()

Is there any better way, how to reach the visualisation from the reference picture?