Fixed charts
diff --git a/chart/__init__.py b/chart/__init__.py
index e69de29..91f24c6 100644
--- a/chart/__init__.py
+++ b/chart/__init__.py
@@ -0,0 +1,9 @@
+# Patch MARKER constant
+
+import sys
+from GChartWrapper import constants
+import GChartWrapper.GChart
+
+constants.MARKERS += 'E'
+print sys.modules['GChartWrapper.GChart']
+sys.modules['GChartWrapper.GChart'].MARKERS += 'E'
diff --git a/chart/charts.py b/chart/charts.py
index f985526..549b820 100644
--- a/chart/charts.py
+++ b/chart/charts.py
@@ -19,7 +19,9 @@
t.start()
-def render_vertical_bar(title, legend, dataset, width=700, height=400,
+def render_vertical_bar(title, legend, bars_data, bars_dev_top,
+ bars_dev_bottom,
+ width=700, height=400,
scale_x=None, scale_y=None, label_x=None,
label_y=None, lines=()):
"""
@@ -57,49 +59,37 @@
bar = VerticalBarGroup([], encoding='text')
bar.title(title)
- values = []
- deviations = []
+ dataset = bars_data + bars_dev_top + bars_dev_bottom + [lines[0][0]]
- for d in dataset:
- val, dev = zip(*d)
-
- display_dev = []
- for i in range(len(val)):
- display_dev.append((val[i]-dev[i], val[i]+dev[i]))
- values.append(val)
- # deviations.extend(zip(*dev))
- deviations.extend(zip(*display_dev))
-
- # bar.dataset(values + deviations, series=len(values))
- bar.dataset(values + deviations + [l[0] for l in lines],
- series=len(values))
+ bar.dataset(dataset, series=len(bars_data))
bar.axes.type('xyy')
bar.axes.label(2, None, label_x)
if scale_x:
bar.axes.label(0, *scale_x)
- max_value = (max([max(l) for l in values + deviations + [lines[1][0]]]))
+ max_value = (max([max(l) for l in dataset[:2]]))
bar.axes.range(1, 0, max_value)
bar.axes.style(1, 'N*s*')
bar.axes.style(2, '000000', '13')
- bar.scale(*[0, max_value] * len(values + deviations))
+ bar.scale(*[0, max_value] * 3)
bar.bar('r', '.1', '1')
for i in range(1):
- bar.marker('E', '000000', '%s:%s' % ((len(values) + i*2), i),
+ bar.marker('E', '000000', '%s:%s' % ((len(bars_data) + i*2), i),
'', '1:10')
bar.color(*COLORS)
bar.size(width, height)
axes_type = "xyy"
- scale = [0, max_value] * len(values + deviations)
+ scale = [0, max_value] * len(bars_dev_top + bars_dev_bottom + bars_data)
if lines:
line_n = 0
for data, label, axe, leg in lines:
- bar.marker('D', COLORS[len(values) + line_n],
- (len(values + deviations)) + line_n, 0, 3)
+ bar.marker('D', COLORS[len(bars_data) + line_n],
+ (len(bars_data + bars_dev_top + bars_dev_bottom))
+ + line_n, 0, 3)
max_val_l = max(data)
if axe:
bar.axes.type(axes_type + axe)