code: def plot_graph(_):
      global app
      ctx = callback_context
      if (
          len(ctx.triggered)
          and "plot-button" in ctx.triggered[0]["prop_id"]
      ):
          # NOTE: remark how the `overview_row_idxs` argument specifies the row indices
          # (start at 0) of the subplots that will be used to construct the overview
          # graph. In this list the position of the values indicate the column index of
          # the subplot. In this case, the overview graph will show for the first column
          # the second subplot row (1), and for the second column the first subplot row
          # (0).
          fig: FigureResampler = FigureResampler(
              make_subplots(
                  rows=2,
                  cols=2,
                  shared_xaxes="columns",
                  horizontal_spacing=0.03,
              ),
              create_overview=True,
              overview_row_idxs=[1, 0],
              default_downsampler=MinMaxLTTB(parallel=True),
          )
  
          # Figure construction logic
          # fmt: off
          log = noisy_sin * 0.9999995**x
          exp = noisy_sin * 1.000002**x
          fig.add_trace(go.Scattergl(name="log", legend='legend1'), hf_x=x, hf_y=log)
          fig.add_trace(go.Scattergl(name="exp", legend='legend1'), hf_x=x, hf_y=exp)
  
          fig.add_trace(go.Scattergl(name="-log", legend='legend2'), hf_x=x, hf_y=-exp, row=1, col=2)
  
          fig.add_trace(go.Scattergl(name="log", legend='legend3'), hf_x=x, hf_y=-log, row=2, col=1)
          fig.add_trace(go.Scattergl(name="3-exp", legend='legend3'), hf_x=x, hf_y=3 - exp, row=2, col=1)
  
          fig.add_trace(go.Scattergl(name="log", legend='legend4'), hf_x=x, hf_y=log**2, row=2, col=2)
  
          # fmt: on
          fig.update_layout(
              legend1=dict(orientation="h", yanchor="bottom", y=1.02),
              legend2=dict(
                  orientation="h", yanchor="bottom", y=1.02, x=0.52
              ),
              legend3=dict(orientation="h", y=0.51, x=0),
              legend4=dict(orientation="h", y=0.51, x=0.52),
          )
          fig.update_layout(margin=dict(b=10), template="plotly_white")
  
          coarse_fig = fig._create_overview_figure()
          return fig, coarse_fig, Serverside(fig)
      else:
          return no_update
  
file_path: plotly-resampler/examples/dash_apps/05_cache_overview_subplots.py
imports: import dash
  import numpy
  import plotly.graph_objects
  from dash import Input, Output, State, callback_context, dcc, html, no_update
  from dash_extensions.enrich import DashProxy, Serverside, ServersideOutputTransform
  from plotly.subplots import make_subplots
  from plotly_resampler import ASSETS_FOLDER, FigureResampler
  from plotly_resampler.aggregation import MinMaxLTTB
label_desc: Use image node_id 1 for calling a global function with example usage: plot_graph(_) and returns: fig,  coarse_fig,  Serverside, no_update