Make_subplot does not show data when using share_xaxes

Dear community,
I am making a dash app. I am using make_subplot to show two plots in a column. I want them to share the x axis. It worked fine with plot.ly, however, when I put in into dash, the data is not showing. I finally figured out when I remove share_xaxes=True,the data show up. How can I make the subplot share_xaxes=True work?
I am using
dash 0.39.0
dcc 0.44.0
html 0.14.0
plotly 5.3.1

Here is the reproducible example (debug=False because I use Jupyter lab):

import pandas as pd
columns=['Date','col1','col2', 'col3']
data={'row1':['2019-01-31',166.440, 73.417283, 59.702568],
'row2':['2019-02-01', 166.520, 73.530398, 59.782428],
'row3':['2019-02-04', 171.250, 79.536789, 64.288669],
'row4':['2019-02-05', 174.179, 82.418937, 66.771527],
'row5':['2019-02-06', 174.240, 82.478897, 66.823261],
'row6':['2019-02-07', 170.940, 67.869795, 61.266096],
'row7':['2019-02-08', 170.410, 65.689645, 60.397355],
'row8':['2019-02-11', 169.429, 61.428562, 58.737154],
'row9':['2019-02-12', 170.889, 65.333093, 60.478345],
'row10':['2019-02-13', 170.179, 61.784665, 59.170717]}

df=pd.DataFrame.from_dict(data, orient='index')
df.columns = columns

import plotly.graph_objs as go
from plotly.subplots import make_subplots

import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output

app = dash.Dash(__name__)

app.layout = html.Div([
    html.Div([
            dcc.Checklist(
                id='variables',
                values='value')
        ]),
    dcc.Graph(id='chart', figure={})
])

@app.callback(
    Output(component_id='chart', component_property='figure'), #],
    [Input('variables','values')])
def update_graph(variable):
    
    fig = make_subplots(rows=2, cols=1, row_heights = [0.75, 0.25], vertical_spacing=0.01, subplot_titles=(' ', ''), shared_xaxes=True)

    fig.add_trace(go.Scatter(x=df.Date, 
                        y=df['col1'], line_color='black', line_width = 1), row = 1, col = 1)
    fig.add_trace(go.Scatter(x = df.Date, 
                        y = df['col2'], line_color='cyan', line_width = 1), row = 2, col =1)
     
    return fig

# -------------------------------------------------- ----------------------------
if __name__ == '__main__':
    app.run_server(debug=False)

And here is the plot:

Please help.
Thanks in advance!