@@ -21,34 +21,37 @@ def __init__(self, s, loc, pad=0.4, borderpad=0.5, prop=None, **kwargs):
2121 ** kwargs )
2222
2323
24- class AnchoredSizeBar (AnchoredOffsetbox ):
25- def __init__ (self , transform , size , label , loc ,
26- pad = 0.1 , borderpad = 0.1 , sep = 2 , prop = None , frameon = True ):
27- """
28- Draw a horizontal bar with the size in data coordinate of the give axes.
29- A label will be drawn underneath (center-alinged).
3024
31- pad, borderpad in fraction of the legend font size (or prop)
32- sep in points.
33- """
34- self .size_bar = AuxTransformBox (transform )
35- self .size_bar .add_artist (Rectangle ((0 ,0 ), size , 0 , fc = "none" ))
25+ class AnchoredDrawingArea (AnchoredOffsetbox ):
26+ def __init__ (self , width , height , xdescent , ydescent ,
27+ loc , pad = 0.4 , borderpad = 0.5 , prop = None , frameon = True ,
28+ ** kwargs ):
3629
37- self .txt_label = TextArea (label , minimumdescent = False )
30+ self .da = DrawingArea (width , height , xdescent , ydescent , clip = True )
31+ self .drawing_area = self .da
32+
33+ super (AnchoredDrawingArea , self ).__init__ (loc , pad = pad , borderpad = borderpad ,
34+ child = self .da ,
35+ prop = None ,
36+ frameon = frameon ,
37+ ** kwargs )
3838
39- self ._box = VPacker (children = [self .size_bar , self .txt_label ],
40- align = "center" ,
41- pad = 0 , sep = sep )
39+ class AnchoredAuxTransformBox (AnchoredOffsetbox ):
40+ def __init__ (self , transform , loc ,
41+ pad = 0.4 , borderpad = 0.5 , prop = None , frameon = True , ** kwargs ):
42+
43+ self .drawing_area = AuxTransformBox (transform )
4244
4345 AnchoredOffsetbox .__init__ (self , loc , pad = pad , borderpad = borderpad ,
44- child = self ._box ,
46+ child = self .drawing_area ,
4547 prop = prop ,
46- frameon = frameon )
48+ frameon = frameon ,
49+ ** kwargs )
4750
4851
4952class AnchoredEllipse (AnchoredOffsetbox ):
5053 def __init__ (self , transform , width , height , angle , loc ,
51- pad = 0.1 , borderpad = 0.1 , prop = None , frameon = True ):
54+ pad = 0.1 , borderpad = 0.1 , prop = None , frameon = True , ** kwargs ):
5255 """
5356 Draw an ellipse the size in data coordinate of the give axes.
5457
@@ -61,20 +64,32 @@ def __init__(self, transform, width, height, angle, loc,
6164 AnchoredOffsetbox .__init__ (self , loc , pad = pad , borderpad = borderpad ,
6265 child = self ._box ,
6366 prop = prop ,
64- frameon = frameon )
67+ frameon = frameon , ** kwargs )
6568
6669
6770
68- class AnchoredDrawingArea (AnchoredOffsetbox ):
69- def __init__ (self , width , height , xdescent , ydescent ,
70- loc , pad = 0.4 , borderpad = 0.5 , prop = None , frameon = True ):
71+ class AnchoredSizeBar (AnchoredOffsetbox ):
72+ def __init__ (self , transform , size , label , loc ,
73+ pad = 0.1 , borderpad = 0.1 , sep = 2 , prop = None , frameon = True ,
74+ ** kwargs ):
75+ """
76+ Draw a horizontal bar with the size in data coordinate of the give axes.
77+ A label will be drawn underneath (center-alinged).
7178
72- self .da = DrawingArea (width , height , xdescent , ydescent , clip = True )
79+ pad, borderpad in fraction of the legend font size (or prop)
80+ sep in points.
81+ """
82+ self .size_bar = AuxTransformBox (transform )
83+ self .size_bar .add_artist (Rectangle ((0 ,0 ), size , 0 , fc = "none" ))
7384
74- super (AnchoredDrawingArea , self ).__init__ (loc , pad = pad , borderpad = borderpad ,
75- child = self .da ,
76- prop = None ,
77- frameon = frameon )
85+ self .txt_label = TextArea (label , minimumdescent = False )
7886
87+ self ._box = VPacker (children = [self .size_bar , self .txt_label ],
88+ align = "center" ,
89+ pad = 0 , sep = sep )
7990
91+ AnchoredOffsetbox .__init__ (self , loc , pad = pad , borderpad = borderpad ,
92+ child = self ._box ,
93+ prop = prop ,
94+ frameon = frameon , ** kwargs )
8095
0 commit comments