How to generate chart with multi colors

I want to generate a chat that looks like the attached

What is the chart type to use for this?

I would try plotting a heatmap and scatter with mode: 'lines' and fill turned on above it.

I managed to do this with a scatter plot by specifying the points required to get the plot as i wanted based on the data, and using fill: β€˜tozeroy’ and specifying the fillcolor.