From b52f44f3bedda99608eb1c73fb582c50638d8fed Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Sun, 10 Nov 2013 23:02:44 +0000 Subject: [PATCH] stacked graph attempt --- noblogsmv/webapp.py | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/noblogsmv/webapp.py b/noblogsmv/webapp.py index 1c55df1..cf574b2 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() -- GitLab