code: def test_scatterplot2d(chart_2d, scatter_plot_2d):
      x = [-2, -1, 0, 1, 2]
      y = [4, 1, 0, -1, -4]
      c = (1.0, 0.0, 1.0, 1.0)
      sz = 5
      st, st_inv = "o", "^"
      l = "Scatter"
      assert (
          st_inv not in charts.ScatterPlot2D.MARKER_STYLES
      ), "New marker styles added? Change this test."
  
      # Test constructor
      plot = charts.ScatterPlot2D(chart_2d, x, y, c, sz, st, l)
      assert plot._chart == weakref.proxy(chart_2d)
      assert np.allclose(plot.x, x)
      assert np.allclose(plot.y, y)
      assert plot.color == c
      assert plot.marker_size == sz
      assert plot.marker_style == st
      assert plot.label == l
  
      # Test remaining properties
      scatter_plot_2d.update(x, y)
      assert np.allclose(scatter_plot_2d.x, x)
      assert np.allclose(scatter_plot_2d.y, y)
  
      scatter_plot_2d.marker_size = sz
      assert scatter_plot_2d.marker_size == sz
      assert scatter_plot_2d.GetMarkerSize() == sz
  
      scatter_plot_2d.marker_style = None
      assert scatter_plot_2d.marker_style == ""
      scatter_plot_2d.marker_style = st
      assert scatter_plot_2d.marker_style == st
      assert (
          scatter_plot_2d.GetMarkerStyle()
          == scatter_plot_2d.MARKER_STYLES[st]["id"]
      )
      with pytest.raises(ValueError):
          scatter_plot_2d.marker_style = st_inv
  
imports: import itertools
  import platform
  import weakref
  import numpy
  import pytest
  from vtkmodules.vtkRenderingContext2D import vtkPen
  import pyvista
  from pyvista import examples
  from pyvista.plotting import charts
  from pyvista.plotting.colors import COLOR_SCHEMES
label_desc: Use image node_id 38 for calling a global function with example usage: test_scatterplot2d(chart_2d, scatter_plot_2d) without return types