9 def hpaint(c
, x
, y
, axis
, reverse
= 0):
10 x
, y
= map(unit
.topt
, (x
, y
))
11 axis
.ticks
= axis
.part
.defaultpart(axis
.min/axis
.divisor
, axis
.max/axis
.divisor
, 0, 0)
12 axis
.tickpoint
= lambda axis
, v
, x
=x
, y
=y
, l
=l
: (x
+v
*l
, y
)
13 axis
.tickdirection
= lambda axis
, v
, reverse
=reverse
: (0, -1 + 2*reverse
)
14 axis
.vbaseline
= lambda axis
, v1
, v2
, x
=x
, y
=y
, l
=l
: path
._line
(x
+v1
*l
, y
, x
+v2
*l
, y
)
15 axis
.painter
.paint(c
, axis
)
17 def vpaint(c
, x
, y
, axis
, reverse
= 0):
18 x
, y
= map(unit
.topt
, (x
, y
))
19 axis
.ticks
= axis
.part
.defaultpart(axis
.min/axis
.divisor
, axis
.max/axis
.divisor
, 0, 0)
20 axis
.tickpoint
= lambda axis
, v
, x
=x
, y
=y
, l
=l
: (x
, y
+v
*l
)
21 axis
.tickdirection
= lambda axis
, v
, reverse
=reverse
: (-1 + 2*reverse
, 0)
22 axis
.vbaseline
= lambda axis
, v1
, v2
, x
=x
, y
=y
, l
=l
: path
._line
(x
, y
+v1
*l
, x
, y
+v2
*l
)
23 axis
.painter
.paint(c
, axis
)
25 def cpaint(c
, x
, y
, axis
):
26 x
, y
= map(unit
.topt
, (x
, y
))
27 axis
.ticks
= axis
.part
.defaultpart(axis
.min/axis
.divisor
, axis
.max/axis
.divisor
, 0, 0)
28 axis
.tickpoint
= lambda axis
, v
, x
=x
, y
=y
, l
=l
: (x
+l
/2*math
.cos(v
*2*math
.pi
), y
+l
/2*math
.sin(v
*2*math
.pi
))
29 axis
.tickdirection
= lambda axis
, v
: (math
.cos(v
*2*math
.pi
), math
.sin(v
*2*math
.pi
))
30 axis
.vbaseline
= lambda axis
, v1
, v2
, x
=x
, y
=y
, l
=l
: path
._circle
(x
, y
, l
/2)
31 axis
.painter
.paint(c
, axis
)
34 t
= c
.insert(tex
.tex())
35 lintest
= {"title": "axis title", "min": 0, "max": 1, "part": graph
.linpart(("0.25", "0.1/0.8"))}
37 hpaint(c
, 0, 0, graph
.linaxis(**lintest
))
38 hpaint(c
, 0, 1, graph
.linaxis(**lintest
), reverse
=1)
39 hpaint(c
, 0, 5, graph
.linaxis(painter
=graph
.axispainter(labelattrs
=tex
.direction(45), titleattrs
=tex
.direction(45)), **lintest
))
40 hpaint(c
, 0, 8, graph
.linaxis(painter
=graph
.axispainter(labelattrs
=(tex
.direction(45), tex
.halign
.right
), titleattrs
=tex
.direction(-45)), **lintest
))
41 vpaint(c
, 11, 0, graph
.linaxis(painter
=graph
.axispainter(tickattrs
=color
.rgb
.red
, innerticklengths
=0, outerticklengths
=graph
.axispainter
.defaultticklengths
), **lintest
))
42 vpaint(c
, 12, 0, graph
.linaxis(painter
=graph
.axispainter(tickattrs
=(None, (color
.rgb
.green
,))), **lintest
), reverse
=1)
43 vpaint(c
, 16, 0, graph
.linaxis(painter
=graph
.axispainter(expfracminexp
=1), **lintest
))
44 vpaint(c
, 18, 0, graph
.linaxis(painter
=graph
.axispainter(fractype
=graph
.axispainter
.fractyperat
), **lintest
))
45 lintest
= {"title": "axis title", "min": -2*math
.pi
, "max": 0, "divisor": math
.pi
, "suffix": r
"\pi", "part": graph
.linpart("0.25")}
46 hpaint(c
, 0, 11, graph
.linaxis(**lintest
))
47 lintest
= {"title": "axis title", "min": 0, "max": 2*math
.pi
, "divisor": math
.pi
, "suffix": r
"\pi", "part": graph
.linpart("0.5")}
48 hpaint(c
, 10, 11, graph
.linaxis(painter
=graph
.axispainter(ratfracover
="/"), **lintest
))
49 lintest
= {"min": 0, "max": 2*math
.pi
, "divisor": math
.pi
, "suffix": r
"\pi", "part": graph
.linpart("0.125")}
50 cpaint(c
, 4, 17, graph
.linaxis(**lintest
))
51 lintest
= {"min": 0, "max": 2*math
.pi
, "divisor": math
.pi
/180, "part": graph
.linpart("30")}
52 cpaint(c
, 14, 17, graph
.linaxis(painter
=graph
.axispainter(labeldirection
=graph
.axispainter
.paralleltext
), **lintest
))
53 c
.writetofile("test_axis", paperformat
="a4")