diff --git a/pygal/__init__.py b/pygal/__init__.py
index e9590d1..2982fe0 100644
--- a/pygal/__init__.py
+++ b/pygal/__init__.py
@@ -40,6 +40,8 @@ from pygal.graph.histogram import Histogram
from pygal.graph.horizontalbar import HorizontalBar
from pygal.graph.horizontalstackedbar import HorizontalStackedBar
from pygal.graph.line import Line
+from pygal.graph.horizontalline import HorizontalLine
+from pygal.graph.horizontalstackedline import HorizontalStackedLine
from pygal.graph.pie import Pie
from pygal.graph.pyramid import Pyramid, VerticalPyramid
from pygal.graph.radar import Radar
diff --git a/pygal/graph/horizontalline.py b/pygal/graph/horizontalline.py
new file mode 100644
index 0000000..d484427
--- /dev/null
+++ b/pygal/graph/horizontalline.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# This file is part of pygal
+#
+# A python svg graph plotting library
+# Copyright © 2012-2015 Kozea
+#
+# This library is free software: you can redistribute it and/or modify it under
+# the terms of the GNU Lesser General Public License as published by the Free
+# Software Foundation, either version 3 of the License, or (at your option) any
+# later version.
+#
+# This library is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with pygal. If not, see .
+
+"""Horizontal line graph"""
+
+from pygal.graph.line import Line
+from pygal.graph.horizontal import HorizontalGraph
+
+
+class HorizontalLine(HorizontalGraph, Line):
+
+ """Horizontal Line graph"""
+
+ def _plot(self):
+ """Draw the lines in reverse order"""
+ for serie in self.series[::-1]:
+ self.line(serie)
+ for serie in self.secondary_series[::-1]:
+ self.line(serie, True)
diff --git a/pygal/graph/horizontalstackedline.py b/pygal/graph/horizontalstackedline.py
new file mode 100644
index 0000000..1195a9f
--- /dev/null
+++ b/pygal/graph/horizontalstackedline.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# This file is part of pygal
+#
+# A python svg graph plotting library
+# Copyright © 2012-2015 Kozea
+#
+# This library is free software: you can redistribute it and/or modify it under
+# the terms of the GNU Lesser General Public License as published by the Free
+# Software Foundation, either version 3 of the License, or (at your option) any
+# later version.
+#
+# This library is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with pygal. If not, see .
+
+"""Horizontal Stacked Line graph"""
+
+from pygal.graph.stackedline import StackedLine
+from pygal.graph.horizontal import HorizontalGraph
+
+
+class HorizontalStackedLine(HorizontalGraph, StackedLine):
+
+ """Horizontal Stacked Line graph"""
+
+ def _plot(self):
+ """Draw the lines in reverse order"""
+ for serie in self.series[::-1]:
+ self.line(serie)
+ for serie in self.secondary_series[::-1]:
+ self.line(serie, True)
diff --git a/pygal/graph/line.py b/pygal/graph/line.py
index baf17d8..bb0951a 100644
--- a/pygal/graph/line.py
+++ b/pygal/graph/line.py
@@ -148,9 +148,14 @@ class Line(Graph):
def _compute(self):
"""Compute y min and max and y scale and set labels"""
# X Labels
- self._x_pos = [
- x / (self._len - 1) for x in range(self._len)
- ] if self._len != 1 else [.5] # Center if only one value
+ if self.horizontal:
+ self._x_pos = [
+ x / (self._len - 1) for x in range(self._len)
+ ][::-1] if self._len != 1 else [.5] # Center if only one value
+ else:
+ self._x_pos = [
+ x / (self._len - 1) for x in range(self._len)
+ ] if self._len != 1 else [.5] # Center if only one value
self._points(self._x_pos)
diff --git a/pygal/test/test_config.py b/pygal/test/test_config.py
index 4beda58..5d43325 100644
--- a/pygal/test/test_config.py
+++ b/pygal/test/test_config.py
@@ -23,6 +23,7 @@ from pygal import (
Line, Dot, Pie, Treemap, Radar, Config, Bar, Funnel,
Histogram, Gauge, Box, XY,
Pyramid, HorizontalBar, HorizontalStackedBar,
+ HorizontalStackedLine, HorizontalLine,
DateTimeLine, TimeLine, DateLine, TimeDeltaLine)
from pygal.graph.map import BaseMap
from pygal.graph.horizontal import HorizontalGraph
@@ -434,6 +435,7 @@ def test_y_label_major(Chart):
if Chart in (
Pie, Treemap, Funnel, Dot, Gauge, Histogram, Box,
HorizontalBar, HorizontalStackedBar,
+ HorizontalStackedLine, HorizontalLine,
Pyramid, DateTimeLine, TimeLine, DateLine,
TimeDeltaLine
) or issubclass(Chart, BaseMap):