Merged Rolf Schmidt's illysam branch
[hooke.git] / hooke / ui / gui / plot.py
1 #!/usr/bin/env python\r
2 \r
3 '''\r
4 plot.py\r
5 \r
6 Plot class for Hooke.\r
7 \r
8 Copyright 2010 by Dr. Rolf Schmidt (Concordia University, Canada)\r
9 \r
10 This program is released under the GNU General Public License version 2.\r
11 '''\r
12 \r
13 class Invert(object):\r
14 \r
15     def __init__(self):\r
16         self.x = False\r
17         self.y = False\r
18 \r
19 \r
20 class Plot(object):\r
21 \r
22     def __init__(self):\r
23         self.corrected_curves = []\r
24         self.curves = []\r
25         self.invert = Invert()\r
26         self.raw_curves = []\r
27         self.results = {}\r
28         self.title = ''\r
29 \r
30     def normalize(self):\r
31         '''\r
32         Trims the vector lengths as to be equal in a plot.\r
33         '''\r
34         lengths = []\r
35         for curve in self.curves:\r
36             lengths.append(len(curve.x))\r
37             lengths.append(len(curve.y))\r
38             if min(lengths) != max(lengths):\r
39                 curve.x = curve.x[0:min(lengths)]\r
40                 curve.y = curve.y[0:min(lengths)]\r