@@ -1893,49 +1893,71 @@ def change_plotsize(self, new_size):
18931893
18941894 def align_xlabels (self , keys = None ):
18951895 global _basefigure
1896+ global _axes_dict
18961897 renderer = _basefigure .canvas .get_renderer ()
1898+
18971899 if keys is None :
1898- keys = self .bricks_dict . keys ()
1900+ keys = [ key for key in self ._labels if key [ 0 : 5 ] != "case:" and key [ 0 : 8 ] != "outline:" ]
18991901 else :
1900- pass
1901-
1902+ pass
1903+ targets = [key if type (key ) in (Bricks , Brick , cBrick ) else _axes_dict [key ] for key in keys ]
1904+
19021905 miny = None
1903- for key in keys :
1904- x , y = self [key ].xaxis .get_label ().get_position ()
1905- text = self [key ].xaxis .get_label ().get_text ()
1906+ for target in targets :
1907+ if type (target ) == Bricks :
1908+ x , y = target ._case .xaxis .get_label ().get_position ()
1909+ text = target ._case .xaxis .get_label ().get_text ()
1910+ else :
1911+ x , y = target .xaxis .get_label ().get_position ()
1912+ text = target .xaxis .get_label ().get_text ()
19061913 if miny is None or y < miny :
19071914 miny = y
19081915
1909- for key in keys :
1910- pad = self [key ].xaxis .labelpad
1911- x , y = self [key ].xaxis .get_label ().get_position ()
1912- text = self [key ].xaxis .get_label ().get_text ()
1913- self [key ].set_xlabel (text , x = x , y = y , labelpad = pad + (y - miny )* (72 / _basefigure .dpi ))
1916+ for target in targets :
1917+ if type (target ) != Bricks :
1918+ pad = target .xaxis .labelpad
1919+ x , y = target .xaxis .get_label ().get_position ()
1920+ text = target .xaxis .get_label ().get_text ()
1921+ target .set_xlabel (text , x = x , y = y , labelpad = pad + (y - miny )* (72 / _basefigure .dpi ))
1922+ else :
1923+ pad = target ._case .xaxis .labelpad
1924+ x , y = target ._case .xaxis .get_label ().get_position ()
1925+ text = target ._case .xaxis .get_label ().get_text ()
1926+ target ._case .set_xlabel (text , x = x , y = y , labelpad = pad + (y - miny )* (72 / _basefigure .dpi ))
19141927
19151928 def align_ylabels (self , keys = None , ha = "left" ):
19161929 global _basefigure
1930+ global _axes_dict
19171931 renderer = _basefigure .canvas .get_renderer ()
1932+
19181933 if keys is None :
1919- keys = self .bricks_dict . keys ()
1934+ keys = [ key for key in self ._labels if key [ 0 : 5 ] != "case:" and key [ 0 : 8 ] != "outline:" ]
19201935 else :
1921- pass
1922-
1936+ pass
1937+ targets = [key if type (key ) in (Bricks , Brick , cBrick ) else _axes_dict [key ] for key in keys ]
1938+
19231939 minx = None
1924- for key in keys :
1925- x , y = self [ key ]. yaxis . get_label (). get_position ()
1926- text = self [ key ]. yaxis .get_label ().get_text ()
1927- #coordinate = self[key].transAxes.inverted()
1928- #bbox_text = self[key].yaxis.get_label().get_window_extent(renderer=renderer)
1929- #bbox_text = Bbox(coordinate.transform(bbox_text))
1930- #x = x + bbox_text.width
1940+ for target in targets :
1941+ if type ( target ) == Bricks :
1942+ x , y = target . _case . yaxis .get_label ().get_position ()
1943+ text = target . _case . yaxis . get_label (). get_text ()
1944+ else :
1945+ x , y = target . yaxis . get_label (). get_position ()
1946+ text = target . yaxis . get_label (). get_text ()
19311947 if minx is None or x < minx :
19321948 minx = x
19331949
1934- for key in keys :
1935- pad = self [key ].yaxis .labelpad
1936- x , y = self [key ].yaxis .get_label ().get_position ()
1937- text = self [key ].yaxis .get_label ().get_text ()
1938- self [key ].set_ylabel (text , x = x , y = y , labelpad = pad + (x - minx )* (72 / _basefigure .dpi ))
1950+ for target in targets :
1951+ if type (target ) != Bricks :
1952+ pad = target .yaxis .labelpad
1953+ x , y = target .yaxis .get_label ().get_position ()
1954+ text = target .yaxis .get_label ().get_text ()
1955+ target .set_ylabel (text , x = x , y = y , labelpad = pad + (x - minx )* (72 / _basefigure .dpi ))
1956+ else :
1957+ pad = target ._case .yaxis .labelpad
1958+ x , y = target ._case .yaxis .get_label ().get_position ()
1959+ text = target ._case .yaxis .get_label ().get_text ()
1960+ target ._case .set_ylabel (text , x = x , y = y , labelpad = pad + (x - minx )* (72 / _basefigure .dpi ))
19391961
19401962 def set_supxlabel (self , xlabel , labelpad = None , * , loc = None , ** args ):
19411963 """
0 commit comments