# # 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 copy width=pychart_util.inch_to_point(1.7) height=pychart_util.inch_to_point(1.2) loc2 = (width+36, 0) def label(ar, text): return text_box.T(text=text, line_style = None, loc=(ar.loc[0]+ar.size[0]/2, ar.loc[1]-40)) tickSize=3 lWidth=1.2 def get_tick_mark(p): if p == "PN": return tick_mark.Diamond(size=tickSize) elif p == "PRV": return tick_mark.Triangle(size=tickSize) elif p == "PR": return tick_mark.X(size=tickSize*1.2,line_style=line_style.T(width=1)) elif p == "SP" or p == "SM": return tick_mark.Square(size=tickSize) elif p == "D4": return tick_mark.Diamond(size=tickSize) elif p == "D2": return tick_mark.DownTriangle(size=tickSize) elif p == "D1": return tick_mark.Square(size=tickSize) elif p == "R": return tick_mark.Circle(size=tickSize) elif p == "S4": return tick_mark.Diamond(size=tickSize) elif p == "S2": return tick_mark.Plus(size=tickSize) elif p == "S1": return tick_mark.Square(size=tickSize) else: return None #else: # pychart_util.error("tick_mark:", p) greyscale_line_styles = { "PN" : line_style.T(width=lWidth), "PRV": line_style.T(width=lWidth,color=color.gray50), "PR": line_style.T(width=lWidth,dash=line_style.dash1), "D4": line_style.T(width=lWidth), "D2": line_style.T(width=lWidth,dash=line_style.dash1, color=color.gray70), "D1": line_style.T(width=lWidth,dash=line_style.dash2), "S4": line_style.T(width=lWidth), "S2": line_style.T(width=lWidth,dash=line_style.dash1,color=color.gray70), "S1": line_style.T(width=lWidth,dash=line_style.dash2,color=color.gray70), "R": line_style.T(width=lWidth,color=color.gray50), "SM": line_style.T(width=lWidth), "SP": line_style.T(width=lWidth), } def hack(l): x = copy.deepcopy(l) x.width = lWidth return x color_line_styles = { "PN" : hack(line_style.standards.nth(0)), "PRV": hack(line_style.standards.nth(1)), "PR": hack(line_style.standards.nth(2)), "D4": hack(line_style.standards.nth(3)), "D2": hack(line_style.standards.nth(4)), "D1": hack(line_style.standards.nth(5)), "S4": hack(line_style.standards.nth(6)), "S2": hack(line_style.standards.nth(7)), "S1": hack(line_style.standards.nth(8)), "R": hack(line_style.standards.nth(9)), "SM": hack(line_style.standards.nth(10)), "SP": hack(line_style.standards.nth(11)), } def get_line_style(p): if not theme.use_color: styles = greyscale_line_styles else: styles = color_line_styles if styles.has_key(p): return styles[p] else: pychart_util.error("unknown policy:", p) width2=pychart_util.inch_to_point(2.1) height=pychart_util.inch_to_point(1.2) xlabel_offset=-35