title: Plotly Dash: Update graph with dropdown input
body: <p>I am trying to add points to a predefined figure through a dropdown in Dash. If I select one value I want to add a point in a pair of coordinates, and if I select a different value I want to update the graph in a different pair of coordinates. First of all the function to graph the figure is the following:</p>
  <pre><code>import plotly.graph_objects as go
  import plotly as py
  py.offline.init_notebook_mode(connected = True)
  
  def graficar_rectangulos(fig):
  
      fig.add_trace(go.Scatter(
          x=[1.5],
          y=[0.75],
          mode=&quot;text&quot;,
      ))
  
      # Set axes properties
      fig.update_xaxes(range=[0, 7], showgrid=False)
      fig.update_yaxes(range=[0, 3.5])
  
      # Add shapes
      fig.add_shape(
              # unfilled Rectangle
                  type=&quot;rect&quot;,
                  x0=1,
                  y0=1,
                  x1=2,
                  y1=3,
                  line=dict(
                      color=&quot;RoyalBlue&quot;,
                  ),
              )
  
      fig.update_shapes(dict(xref='x', yref='y'))
  
      return True
  </code></pre>
  <p>After that is where I have the problem and specifically updating the graph. I am not sure which are the parameters that should be returned by the function update graph to update the figure with the scatter plots (I am using Jupyter notebook):</p>
  <pre><code>from jupyter_plotly_dash import JupyterDash
  import plotly.graph_objects as go
  
  import dash
  import dash_core_components as dcc
  import dash_html_components as html
  from dash.dependencies import Input, Output
  
  app = JupyterDash('SimpleExample')
  
  fig = go.Figure()
  graficar_rectangulos(fig)
  
  app.layout = html.Div([
      dcc.Dropdown(
          id='dropdown',
          options=[
              {'label': 'A', 'value': 'A'},
              {'label': 'B', 'value': 'B'},
              {'label': 'C', 'value': 'C'}
          ],
          value='NYC'
      ),
      dcc.Graph(id='graph-court', figure = fig)
  ]
  )
  
  @app.callback(
      Output('graph-court', 'figure'),
      [Input('dropdown', 'value')])
  
  def update_figure(selected_value):
      if selected_value=='A':
          x,y=3,3
      else:
          x,y=2,2
         
      return add_trace(go.Scatter(x=x,y=y,marker = dict(size=[15], color=['green']), mode='markers'))
  
  app
  </code></pre>
  <p>How does the function <code>update_figure</code> should work?</p>