code: def test_multiple_axes_subplot_cols(fig_type):
      x = np.arange(200_000)
      sin = 3 + np.sin(x / 200) + np.random.randn(len(x)) / 30
  
      # Create a figure with 1 row and 2 columns
      fig = fig_type(make_subplots(rows=1, cols=2))
      fig.add_trace(
          go.Scatter(name="orig"), hf_x=x, hf_y=sin, row=1, col=2
      )
      fig.add_trace(
          go.Scatter(name="-orig"), hf_x=x, hf_y=-sin, row=1, col=2
      )
      fig.add_trace(
          go.Scatter(name="sqrt"),
          hf_x=x,
          hf_y=np.sqrt(sin * 10),
          row=1,
          col=2,
      )
      fig.add_trace(
          go.Scatter(name="orig**2"),
          hf_x=x,
          hf_y=(sin - 3) ** 2,
          row=1,
          col=2,
      )
  
      # NOTE: because of the row & col specification, the yaxis is automatically set to y2
      for i, data in enumerate(fig.data[1:], 3):
          data.update(yaxis=f"y{i}")
  
      fig.add_trace(
          go.Scatter(name="<b>orig</b>"), row=1, col=1, hf_x=x, hf_y=sin
      )
  
      # In order for autoshift to work, you need to set x-anchor to free
      fig.update_layout(
          xaxis=dict(domain=[0, 0.4]),
          xaxis2=dict(domain=[0.56, 1]),
          yaxis2=dict(title="orig"),
          yaxis3=dict(
              title="-orig",
              anchor="free",
              overlaying="y2",
              side="left",
              autoshift=True,
          ),
          yaxis4=dict(
              title="sqrt(orig)",
              anchor="free",
              overlaying="y2",
              side="right",
              autoshift=True,
          ),
          yaxis5=dict(
              title="orig ** 2",
              anchor="free",
              overlaying="y2",
              side="right",
              autoshift=True,
          ),
      )
  
      # Update layout properties
      fig.update_layout(
          title_text="multiple y-axes example",
          height=300,
          legend=dict(
              orientation="h",
              yanchor="bottom",
              y=1.02,
              xanchor="right",
              x=1,
          ),
          template="plotly_white",
      )
  
      out = fig._construct_update_data(
          {
              "xaxis.range[0]": 0,
              "xaxis.range[1]": 50_000,
          }
      )
      assert len(out) == 2
  
      out = fig._construct_update_data(
          {
              "xaxis2.range[0]": 0,
              "xaxis2.range[1]": 50_000,
          }
      )
      assert len(out) == 5
  
file_path: plotly-resampler/tests/test_multiple_axes.py
imports: import numpy
  import plotly.graph_objects
  import pytest
  from plotly.subplots import make_subplots
  from plotly_resampler import FigureResampler, FigureWidgetResampler
  from plotly_resampler.aggregation import MinMaxLTTB
label_desc: Use image node_id 3 for calling a global function with example usage: test_multiple_axes_subplot_cols(fig_type) without return types