text: import plotly.express as px
  import dash_core_components as dcc
  import dash_html_components as html
  from dash.dependencies import Input, Output
  import dash
  
  # Load Data
  df = px.data.tips()
  
  external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
  
  app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
  
  server = app.server  # Expose the server variable for deployments
  
  # Build App
  app.layout = html.Div([
      html.H1("RecoDash"),
      dcc.Graph(id='graph'),
      html.Label([
          "colorscale",
          dcc.Dropdown(
              id='colorscale-dropdown', clearable=False,
              value='plasma', options=[
                  {'label': c, 'value': c}
                  for c in px.colors.named_colorscales()
              ])
      ]),
  ])
  
  # Define callback to update graph
  @app.callback(
      Output('graph', 'figure'),
      [Input("colorscale-dropdown", "value")]
  )
  def update_figure(colorscale):
      return px.scatter(
          df, x="total_bill", y="tip", color="size",
          color_continuous_scale=colorscale,
          render_mode="webgl", title="Tips"
      )
  
  if __name__ == '__main__':
      app.run_server(debug=True)