How to make subplots with shared axis on Dash

The answers lies here
[Dash callback not outputting a subplot]

Instead of fig.add_trace(), I need to do fig.append_trace() so it appends as a list and then return as a fig object and not as ‘data’: fig

maybe someone can give me difference between the two?