File: linear_coord.py

package info (click to toggle)
python-pychart 1.39-7
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, squeeze, wheezy
  • size: 1,844 kB
  • ctags: 1,837
  • sloc: python: 6,899; makefile: 82; sh: 30
file content (37 lines) | stat: -rw-r--r-- 1,288 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#
# Copyright (C) 2000-2005 by Yasushi Saito (yasushi.saito@gmail.com)
# 
# Jockey 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.
#
# Jockey 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.
#
import coord
import math
import pychart_util

class T(coord.T):
    def get_canvas_pos(self, size, val, min, max):
        return size * (val - min) / float(max - min)

    def get_tics(self, min, max, interval):
        v = []
        x = min
        while x <= max:
            v.append(x)
            x += interval
        return v
    def get_min_max(self, dmin, dmax, interval):
        if not interval:
            if dmax == dmin:
                interval = 10
            else:
                interval = 10 ** (float(int(math.log(dmax-dmin)/math.log(10))))
        dmin = min(dmin, pychart_util.round_down(dmin, interval))
        dmax = max(dmax, pychart_util.round_up(dmax, interval) + interval/2.0)
        return dmin, dmax, interval