code: def test_data_transforms():
      p = ggplot(aes(x="x", y="np.log(y+1)"), data)
      p = p + geom_point()
      p.draw_test()
  
      with pytest.raises(Exception):
          # no numpy available
          p = ggplot(aes(x="depth", y="ap.log(price)"), data)
          p = p + geom_point()
          p.draw_test()
  
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 4 for calling a global function with example usage: test_data_transforms() without return types