diff --git a/noblogsmv/webapp.py b/noblogsmv/webapp.py
index 1c55df1f6b60418adb736dd9b29fab5caee726e4..cf574b21039f8e5728280f0c2a7842b6db05b741 100644
--- a/noblogsmv/webapp.py
+++ b/noblogsmv/webapp.py
@@ -7,7 +7,7 @@ import time
 import urllib2
 from noblogsmv import state
 from flask import Flask, redirect, render_template, request, g
-from pygooglechart import SimpleLineChart
+from pygooglechart import Axis, SimpleLineChart
 
 
 app = Flask(__name__)
@@ -29,21 +29,29 @@ _palette = ['ffa07a',
             '4ce2d3',
             ]
 
-def _mk_stats_graph(x=450, y=270):
+
+def _mk_stacked_graph(chart, valuelist):
+    n = len(valuelist[0])
+    v0 = [0] * n
+    for j, values in enumerate(valuelist):
+        for i, v in enumerate(values):
+            v0[i] += v
+        chart.add_data(v0[:])
+        chart.add_fill_range(_palette[i], j, j+1)
+    chart.set_colours(['000000'] + _palette[:n])
+
+
+def _mk_stats_graph(x=500, y=270):
     ts = g.sm.state_count_ts
 
-    chart = SimpleLineChart(x, y)
     labels = sorted(ts.keys())
-    chart.set_legend(labels)
+    valuelist = []
     for key in labels:
-        values = ts[key].get_values()
-        chart.add_data(values)
-    nkeys = len(labels)
-    chart.add_data([0] * nkeys)
-    chart.set_colours(_palette[:nkeys])
-    #for i in xrange(nkeys - 1):
-    #    chart.add_fill_range(_palette[i], i, i+1)
+        valuelist.append(ts[key].get_values())
 
+    chart = SimpleLineChart(x, y)
+    _mk_stacked_graph(chart, valuelist)
+    chart.set_legend(labels)
     return chart.get_url()