#
# Copyright (C) 2000-2005 by Yasushi Saito (yasushi.saito@gmail.com)
#
# Pychart is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2, or (at your option) any
# later version.
#
# Pychart 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 General Public License
# for more details.
#
from pychart import *
import pychart.doc_support
import re
can = canvas.default_canvas()
x = 100
y = 500
ar = area.T()
q=30
m=60
def draw_error_bar(e):
global x, y
name = pychart.doc_support.stringify_value(e)
name = re.sub("error_bar\\.", "", name)
tb = text_box.T(text="/hC" + name, loc=(x, y-m-20), line_style=None)
tb.draw()
e.draw(can, (x, y), y-m, y+m, y-q, y+q)
x = x + 50
xmin = x
for e in error_bar.standards.list():
draw_error_bar(e)
xmax = x
can.line(line_style.gray70_dash1, xmin-20, y, xmax, y)
can.line(line_style.gray70_dash1, xmin-20, y-q, xmax, y-q)
can.line(line_style.gray70_dash1, xmin-20, y+q, xmax, y+q)
tb = text_box.T(text="quartile", loc=(xmax+40, y), line_style=None)
tb.add_arrow(tipLoc=(xmax+55, y+q)) #, tail='tc')
tb.add_arrow(tipLoc=(xmax+55, y-q)) #, tail='bc')
tb.draw()
tb = text_box.T(text="min//\nmax", loc=(xmax+80, y), line_style=None)
tb.add_arrow(tipLoc=(xmax+95, y+m)) #, tail='tc')
tb.add_arrow(tipLoc=(xmax+95, y-m)) #, tail='bc')
tb.draw()
|