code: def test_multiple_polygons_auto_range(DataFrame):
      df = DataFrame(
          {
              "polygons": pd.Series(
                  [
                      [
                          [
                              [0, 0, 2, 0, 2, 2, 1, 3, 0, 0],
                              [1, 0.25, 1, 2, 1.75, 0.25, 0.25, 0.25],
                          ],
                          [[2.5, 1, 4, 1, 4, 2, 2.5, 2, 2.5, 1]],
                      ]
                  ],
                  dtype="MultiPolygon[float64]",
              ),
              "v": [1],
          }
      )
  
      cvs = ds.Canvas(
          plot_width=16,
          plot_height=16,
          x_range=[-1, 3.5],
          y_range=[0.1, 2],
      )
      agg = cvs.polygons(df, geometry="polygons", agg=ds.count())
  
      axis = ds.core.LinearAxis()
      lincoords_x = axis.compute_index(
          axis.compute_scale_and_translate((-1, 3.5), 16), 16
      )
      lincoords_y = axis.compute_index(
          axis.compute_scale_and_translate((0.1, 2), 16), 16
      )
  
      sol = np.array(
          [
              [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1],
              [0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1],
              [0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1],
              [0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1],
              [0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1],
              [0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1],
              [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1],
              [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1],
          ],
          dtype="i4",
      )
  
      out = xr.DataArray(
          sol, coords=[lincoords_y, lincoords_x], dims=["y", "x"]
      )
  
      assert_eq_xr(agg, out)
  
      assert_eq_ndarray(agg.x_range, (-1, 3.5), close=True)
      assert_eq_ndarray(agg.y_range, (0.1, 2), close=True)
  
file_path: datashader/datashader/tests/test_polygons.py
imports: import pytest
  import pandas
  import numpy
  import xarray
  import datashader
  from datashader.tests.test_pandas import assert_eq_ndarray, assert_eq_xr
  import dask.dataframe
label_desc: Use image node_id 3 for calling a global function with example usage: test_multiple_polygons_auto_range(DataFrame) without return types