diff --git a/Chart.cabal b/Chart.cabal
--- a/Chart.cabal
+++ b/Chart.cabal
@@ -1,5 +1,5 @@
 Name: Chart
-Version: 0.10
+Version: 0.10.1
 License: BSD3
 License-file: LICENSE
 Copyright: Tim Docker, 2006-2009
@@ -19,10 +19,10 @@
 
 library
   if flag(splitbase)
-    Build-depends: base >= 3, old-locale, time, mtl, array, data-accessor, data-accessor-template
+    Build-depends: base >= 3, old-locale, time, mtl, array
   else
     Build-depends: base < 3
-  Build-depends: gtk >= 0.9.11, cairo >= 0.9.11, time, mtl, array, data-accessor, data-accessor-template
+  Build-depends: gtk >= 0.9.11, cairo >= 0.9.11, time, mtl, array, data-accessor >= 0.2, data-accessor-template == 0.2
 
   Exposed-modules:
         Graphics.Rendering.Chart,
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
@@ -14,6 +14,7 @@
     legend_label_style,
     legend_margin,
     legend_plot_size,
+    legend_vertical
 ) where
 
 import qualified Graphics.Rendering.Cairo as C
@@ -32,7 +33,8 @@
 data LegendStyle = LegendStyle {
    legend_label_style_ :: CairoFontStyle,
    legend_margin_ :: Double,
-   legend_plot_size_ :: Double
+   legend_plot_size_ :: Double,
+   legend_vertical_ :: Bool
 }
 
 data Legend x y = Legend Bool LegendStyle [Plot x y]
@@ -43,7 +45,8 @@
 legendToRenderable :: Legend x y -> Renderable String
 legendToRenderable (Legend _ ls plots) = gridToRenderable grid
   where
-    grid = besideN $ intersperse ggap1 (map (tval.rf) ps)
+    grid = layoutN $ intersperse ggap1 (map (tval.rf) ps)
+    layoutN = if legend_vertical_ ls then aboveN else besideN
 
     ps :: [(String, [Rect -> CRender ()])]
     ps = join_nub (concatMap plot_legend_ plots)
@@ -71,7 +74,8 @@
 defaultLegendStyle = LegendStyle {
     legend_label_style_=defaultFontStyle,
     legend_margin_=20,
-    legend_plot_size_=20
+    legend_plot_size_=20,
+    legend_vertical_=False
 }
 
 ----------------------------------------------------------------------
diff --git a/tests/test.hs b/tests/test.hs
--- a/tests/test.hs
+++ b/tests/test.hs
@@ -108,6 +108,13 @@
     axisBorderOnly = (laxis_visible ^= const True)
                    . (laxis_override ^=  (axisGridHide.axisTicksHide.axisLabelsHide))
 
+test1b :: OutputType -> Renderable ()
+test1b otype = toRenderable layout
+  where
+    layout = layout1_title ^= "Amplitude Modulation"
+           $ layout1_legend ^= Just ( legend_vertical ^= True $ defaultLegendStyle)
+           $ (test1Layout otype)
+
 ----------------------------------------------------------------------
 test2 :: [(Int,Int,Int,Double,Double)] -> OutputType -> Renderable ()
 test2 prices otype = toRenderable layout
@@ -356,6 +363,7 @@
 allTests =
      [ ("test1",  test1)
      , ("test1a", test1a)
+     , ("test1b", test1b)
      , ("test2a", test2 prices)
      , ("test2b", test2 (filterPrices (date 1 1 2005) (date 31 12 2005)))
      , ("test2c", test2 (filterPrices (date 1 5 2005) (date 1 7 2005)))
