code: def test_array_mapping_and_evaluation():
      # GH548
      # When we map to array/series of values, the aes evaluation
      # should not mix up the values.
      data = pd.DataFrame(
          {"x": range(12), "y": range(12), "g": list("abcd") * 3}
      )
  
      # should be the same as if color='g'
      p = (
          ggplot(data, aes("x", "y", color=data["g"]))
          + geom_point(size=4)
          + geom_path()
          + facet_wrap("~g")
      )
      assert p == "array_mapping_and_evaluation"
  
imports: import numpy
  import pandas
  from plotnine import aes, annotate, facet_grid, facet_wrap, geom_abline, geom_path, geom_point, ggplot
  from plotnine.data import mpg, mtcars
label_desc: Use image node_id 21 for calling a global function with example usage: test_array_mapping_and_evaluation() without return types