Scatter plot with 4 dataframes, separately colored by df and by hour

I have a dataframe that contains 96 rows by 24 columns. Each group of 24 rows represents a day and each column represents an hour (from another day). This dataframe is also available split into 4 separate df’s which can make it easier to plot.

I want to plot all 96 rows for each column but have them colored so I can distinguish between the different days, then within those days have them colored with a gradient representing the hours, so I can overlay them and get an idea of the hourly pattern for each day.

So far I have tried the following for one 24x24 dataframe, but this gives me a gradient in the x direction instead of the y, i.e all y-values are the same color for one x but then change color with increasing x-values.


list_1 = []
for i in range(1,25,1):
    list_1.append('MTU_'+str(i))

df_w = df_w.set_axis(list_1, axis='columns')
fig = px.scatter(df_w, x=df_w.index, y=df_w.columns, color = df_w.columns ,color_continuous_scale=["red", "orange", "yellow"]
                 title="Forecast distribution for 01/01/2023")

fig.show()

Furthermore, how would I add the other 3 dataframes to the same figure, add traces on a G.O in a loop? ? If I try to do the same thing with the 96x24 dataframe I get an error for mismatched lengths.