@@ -1893,49 +1893,71 @@ def change_plotsize(self, new_size):
1893
1893
1894
1894
def align_xlabels (self , keys = None ):
1895
1895
global _basefigure
1896
+ global _axes_dict
1896
1897
renderer = _basefigure .canvas .get_renderer ()
1898
+
1897
1899
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:" ]
1899
1901
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
+
1902
1905
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 ()
1906
1913
if miny is None or y < miny :
1907
1914
miny = y
1908
1915
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 ))
1914
1927
1915
1928
def align_ylabels (self , keys = None , ha = "left" ):
1916
1929
global _basefigure
1930
+ global _axes_dict
1917
1931
renderer = _basefigure .canvas .get_renderer ()
1932
+
1918
1933
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:" ]
1920
1935
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
+
1923
1939
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 ()
1931
1947
if minx is None or x < minx :
1932
1948
minx = x
1933
1949
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 ))
1939
1961
1940
1962
def set_supxlabel (self , xlabel , labelpad = None , * , loc = None , ** args ):
1941
1963
"""
0 commit comments