Mercurial > cpython-lru_cache-weakref
annotate Lib/stdwin/Histogram.py @ 5817:48b94de85bf3 legacy-trunk
Extensive changes by AMK.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Thu, 17 Jul 1997 16:29:42 +0000 |
| parents | 1d06b1499eb9 |
| children |
| rev | line source |
|---|---|
| 33 | 1 # Module 'Histogram' |
| 2 | |
| 3 from Buttons import * | |
| 4 | |
| 5 # A Histogram displays a histogram of numeric data. | |
| 6 # | |
| 531 | 7 class HistogramAppearance(LabelAppearance, Define): |
| 33 | 8 # |
|
63
61311506f2cd
*** empty log message ***
Guido van Rossum <guido@python.org>
parents:
53
diff
changeset
|
9 def define(self, parent): |
|
61311506f2cd
*** empty log message ***
Guido van Rossum <guido@python.org>
parents:
53
diff
changeset
|
10 Define.define(self, (parent, '')) |
|
61311506f2cd
*** empty log message ***
Guido van Rossum <guido@python.org>
parents:
53
diff
changeset
|
11 self.ydata = [] |
|
61311506f2cd
*** empty log message ***
Guido van Rossum <guido@python.org>
parents:
53
diff
changeset
|
12 self.scale = (0, 100) |
| 33 | 13 return self |
| 14 # | |
|
1110
1d06b1499eb9
* Got entirely rid of path.py.
Guido van Rossum <guido@python.org>
parents:
531
diff
changeset
|
15 def setdata(self, ydata, scale): |
| 33 | 16 self.ydata = ydata |
| 17 self.scale = scale # (min, max) | |
|
63
61311506f2cd
*** empty log message ***
Guido van Rossum <guido@python.org>
parents:
53
diff
changeset
|
18 self.parent.change(self.bounds) |
| 33 | 19 # |
|
63
61311506f2cd
*** empty log message ***
Guido van Rossum <guido@python.org>
parents:
53
diff
changeset
|
20 def drawpict(self, d): |
| 33 | 21 (left, top), (right, bottom) = self.bounds |
| 22 min, max = self.scale | |
| 23 size = max-min | |
| 24 width, height = right-left, bottom-top | |
|
63
61311506f2cd
*** empty log message ***
Guido van Rossum <guido@python.org>
parents:
53
diff
changeset
|
25 ydata = self.ydata |
|
61311506f2cd
*** empty log message ***
Guido van Rossum <guido@python.org>
parents:
53
diff
changeset
|
26 npoints = len(ydata) |
|
61311506f2cd
*** empty log message ***
Guido van Rossum <guido@python.org>
parents:
53
diff
changeset
|
27 v1 = top + height # constant |
|
61311506f2cd
*** empty log message ***
Guido van Rossum <guido@python.org>
parents:
53
diff
changeset
|
28 h1 = left # changed in loop |
|
61311506f2cd
*** empty log message ***
Guido van Rossum <guido@python.org>
parents:
53
diff
changeset
|
29 for i in range(npoints): |
|
61311506f2cd
*** empty log message ***
Guido van Rossum <guido@python.org>
parents:
53
diff
changeset
|
30 h0 = h1 |
|
61311506f2cd
*** empty log message ***
Guido van Rossum <guido@python.org>
parents:
53
diff
changeset
|
31 v0 = top + height - (ydata[i]-min)*height/size |
|
61311506f2cd
*** empty log message ***
Guido van Rossum <guido@python.org>
parents:
53
diff
changeset
|
32 h1 = left + (i+1) * width/npoints |
| 33 | 33 d.paint((h0, v0), (h1, v1)) |
| 34 # | |
| 35 | |
| 531 | 36 class Histogram(NoReactivity, HistogramAppearance): pass |
