text: from __future__ import (absolute_import, division, print_function,
                          unicode_literals)
  
  import six
  
  import matplotlib.pyplot as plt
  from matplotlib.testing.decorators import image_comparison
  from mpl_toolkits.axes_grid1 import make_axes_locatable
  import numpy as np
  
  
  @image_comparison(baseline_images=['divider_append_axes'])
  def test_divider_append_axes():
  
      # the random data
      np.random.seed(0)
      x = np.random.randn(1000)
      y = np.random.randn(1000)
  
      fig, axScatter = plt.subplots()
  
      # the scatter plot:
      axScatter.scatter(x, y)
  
      # create new axes on the right and on the top of the current axes
      # The first argument of the new_vertical(new_horizontal) method is
      # the height (width) of the axes to be created in inches.
      divider = make_axes_locatable(axScatter)
      axHistbot = divider.append_axes("bottom", 1.2, pad=0.1, sharex=axScatter)
      axHistright = divider.append_axes("right", 1.2, pad=0.1, sharey=axScatter)
      axHistleft = divider.append_axes("left", 1.2, pad=0.1, sharey=axScatter)
      axHisttop = divider.append_axes("top", 1.2, pad=0.1, sharex=axScatter)
  
      # now determine nice limits by hand:
      binwidth = 0.25
      xymax = np.max([np.max(np.fabs(x)), np.max(np.fabs(y))])
      lim = (int(xymax/binwidth) + 1) * binwidth
  
      bins = np.arange(-lim, lim + binwidth, binwidth)
      axHisttop.hist(x, bins=bins)
      axHistbot.hist(x, bins=bins)
      axHistleft.hist(y, bins=bins, orientation='horizontal')
      axHistright.hist(y, bins=bins, orientation='horizontal')
  
      axHistbot.invert_yaxis()
      axHistleft.invert_xaxis()
  
      axHisttop.xaxis.set_ticklabels(())
      axHistbot.xaxis.set_ticklabels(())
      axHistleft.yaxis.set_ticklabels(())
      axHistright.yaxis.set_ticklabels(())
  
  if __name__ == '__main__':
      import nose
      nose.runmodule(argv=['-s', '--with-doctest'], exit=False)
  