Index: lib/matplotlib/axes.py
===================================================================
--- lib/matplotlib/axes.py	(revision 8982)
+++ lib/matplotlib/axes.py	(working copy)
@@ -5832,6 +5832,7 @@
             else:
                 collection.autoscale_None()
 
+        """
         temp_x = x
         temp_y = y
 
@@ -5850,6 +5851,13 @@
         padx, pady = 0.05*w, 0.05*h
         corners = (minx-padx, miny-pady), (maxx+padx, maxy+pady)
         self.update_datalim( corners)
+        """
+        if self._xmargin < 0.05 :
+            self.set_xmargin(0.05)
+
+        if self._ymargin < 0.05 :
+            self.set_ymargin(0.05)
+
         self.autoscale_view()
 
         # add the collection last
Index: lib/matplotlib/collections.py
===================================================================
--- lib/matplotlib/collections.py	(revision 8982)
+++ lib/matplotlib/collections.py	(working copy)
@@ -148,6 +148,10 @@
         transOffset = self._transOffset
         offsets = self._offsets
         paths = self.get_paths()
+
+        if offsets.size == 0 :
+            return []
+
         if not transform.is_affine:
             paths = [transform.transform_path_non_affine(p) for p in paths]
             transform = transform.get_affine()
@@ -176,6 +180,9 @@
         offsets = self._offsets
         paths = self.get_paths()
 
+        if offsets.size == 0 :
+            return transform, transOffset, offsets, paths
+
         if self.have_units():
             paths = []
             for path in self.get_paths():
@@ -208,6 +215,9 @@
         self.update_scalarmappable()
 
         transform, transOffset, offsets, paths = self._prepare_points()
+        if offsets.size == 0 :
+            renderer.close_group(self.__class__.__name__)
+            return
 
         gc = renderer.new_gc()
         self._set_gc_clip(gc)
