diff --git a/Chart.cabal b/Chart.cabal
--- a/Chart.cabal
+++ b/Chart.cabal
@@ -1,5 +1,5 @@
 Name: Chart
-Version: 1.3.2
+Version: 1.3.3
 License: BSD3
 License-file: LICENSE
 Copyright: Tim Docker, 2006-2014
@@ -19,7 +19,7 @@
   Build-depends: base >= 3 && < 5
                , old-locale
                , time, mtl, array
-               , lens >= 3.9 && < 4.7
+               , lens >= 3.9 && < 4.8
                , colour >= 2.2.1 && < 2.4
                , data-default-class < 0.1
                , mtl >= 2.0 && < 2.3
diff --git a/Graphics/Rendering/Chart/Axis/Floating.hs b/Graphics/Rendering/Chart/Axis/Floating.hs
--- a/Graphics/Rendering/Chart/Axis/Floating.hs
+++ b/Graphics/Rendering/Chart/Axis/Floating.hs
@@ -114,9 +114,10 @@
 -- | Generate a linear axis automatically, scaled appropriately for the
 -- input data.
 autoScaledAxis :: RealFloat a => LinearAxisParams a -> AxisFn a
-autoScaledAxis lap ps0 = scaledAxis lap rs ps0
+autoScaledAxis lap ps0 = scaledAxis lap rs ps
   where
-    rs = (minimum ps0,maximum ps0)
+    ps = filter isValidNumber ps0
+    rs = (minimum ps,maximum ps)
 
 steps :: RealFloat a => a -> (a,a) -> [Rational]
 steps nSteps rs@(minV,maxV) = map ((s*) . fromIntegral) [min' .. max']
diff --git a/Graphics/Rendering/Chart/Layout.hs b/Graphics/Rendering/Chart/Layout.hs
--- a/Graphics/Rendering/Chart/Layout.hs
+++ b/Graphics/Rendering/Chart/Layout.hs
@@ -15,23 +15,16 @@
 --     * 'LayoutLR'
 -- 
 --     * 'StackedLayouts'
---
+-- 
 --     * 'LayoutAxis'
 --
--- These accessors are not shown in this API documentation.  They have
--- the same name as the field, but with the leading underscore
--- dropped. Hence for data field @_f::F@ in type @D@, they have type
---
--- @
---   f :: `Control.Lens.Lens'` D F
--- @
---
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE ExistentialQuantification #-}
 
 module Graphics.Rendering.Chart.Layout
-  ( Layout(..)
+  ( -- * Types
+    Layout(..)
   , LayoutLR(..)
   , LayoutAxis(..)
   , LayoutPick(..)
@@ -40,9 +33,12 @@
   -- , LegendItem  haddock complains about this being missing, but from what?
   , MAxisFn
   
+    -- * Rendering
   , layoutToRenderable
   , layoutLRToRenderable
+  , renderStackedLayouts
 
+    -- * LayoutAxis lenses
   , laxis_title_style
   , laxis_title
   , laxis_style
@@ -50,6 +46,7 @@
   , laxis_override
   , laxis_reverse
     
+    -- * Layout lenses
   , layout_background
   , layout_plot_background
   , layout_title
@@ -70,6 +67,7 @@
   , layout_all_font_styles
   , layout_foreground
       
+    -- * LayoutLR lenses
   , layoutlr_background
   , layoutlr_plot_background
   , layoutlr_title
@@ -91,10 +89,9 @@
   , layoutlr_all_font_styles
   , layoutlr_foreground
 
+    -- * StackedLayouts lenses
   , slayouts_layouts
   , slayouts_compress_legend
-
-  , renderStackedLayouts
   ) where
 
 import Graphics.Rendering.Chart.Axis
diff --git a/Graphics/Rendering/Chart/Legend.hs b/Graphics/Rendering/Chart/Legend.hs
--- a/Graphics/Rendering/Chart/Legend.hs
+++ b/Graphics/Rendering/Chart/Legend.hs
@@ -65,6 +65,7 @@
     ps  :: [(String, [Rect -> ChartBackend ()])]
     ps   = join_nub lvs
 
+    rf :: (String,[Rect -> ChartBackend ()]) -> Grid (Renderable String)
     rf (title,rfs) = besideN [gpic,ggap2,gtitle]
       where
         gpic = besideN $ intersperse ggap2 (map rp rfs)
diff --git a/Graphics/Rendering/Chart/State.hs b/Graphics/Rendering/Chart/State.hs
--- a/Graphics/Rendering/Chart/State.hs
+++ b/Graphics/Rendering/Chart/State.hs
@@ -20,15 +20,12 @@
 import Control.Lens
 import Control.Monad.State
 import Data.Default.Class
-import Data.List(cycle)
 
 import Data.Colour
 import Data.Colour.Names
 
 import Graphics.Rendering.Chart.Layout
 import Graphics.Rendering.Chart.Plot
-import Graphics.Rendering.Chart.Axis
-import Graphics.Rendering.Chart.Backend
 import Graphics.Rendering.Chart.Drawing
 import Graphics.Rendering.Chart.Renderable
 
@@ -48,10 +45,13 @@
 type EC l a = StateT l (State CState) a
 
 instance Default CState where
-  def = CState colors shapes
+  def = CState defColors defShapes
     where
-      colors = cycle (map opaque [blue,green,red,orange,yellow,violet])
-      shapes = cycle [PointShapeCircle,PointShapePlus,PointShapeCross,PointShapeStar]
+      defColors = cycle (map opaque [blue,green,red,orange,yellow,violet])
+      defShapes = cycle [PointShapeCircle,PointShapePlus,PointShapeCross,PointShapeStar]
+
+instance (Default a,ToRenderable a) => ToRenderable (EC a b) where
+  toRenderable = toRenderable . execEC
       
 -- | Run the monadic `EC` computation, and return the graphical
 -- element (ie the outer monad' state)
