code: def test_ggplot_parameters():
      p = ggplot(data, aes("x"))
  
      assert p.data is data
      assert p.mapping == aes("x")
      assert p.environment.namespace["np"] is np
      assert p.environment.namespace["pd"] is pd
  
      p = ggplot(data=data, mapping=aes("x"))
      assert p.data is data
      assert p.mapping == aes("x")
  
      p = ggplot(data=data)
      assert p.data is data
      assert p.mapping == aes()
  
      p = ggplot(mapping=aes("x"))
      assert p.data is None
      assert p.mapping == aes("x")
  
      p = ggplot()
      assert p.data is None
      assert p.mapping == aes()
  
      with pytest.raises(TypeError):
          ggplot([1, 2, 3], aes("x"))
  
imports: from copy import deepcopy
  import numpy
  import pandas
  import pytest
  from plotnine import aes, after_scale, after_stat, annotate, coord_trans, facet_null, geom_bar, geom_histogram, geom_line, geom_point, ggplot, ggtitle, guides, labs, lims, scale_x_continuous, stage, stat_identity, theme, theme_gray, xlab, xlim, ylab
  from plotnine.exceptions import PlotnineError, PlotnineWarning
  from plotnine.mapping.aes import is_valid_aesthetic
label_desc: Use image node_id 2 for calling a global function with example usage: test_ggplot_parameters() without return types