@@ -1888,37 +1888,41 @@ plots.autoMargin = function(gd, id, o) {
1888
1888
var fullLayout = gd . _fullLayout ;
1889
1889
var width = fullLayout . width ;
1890
1890
var height = fullLayout . height ;
1891
+ var margin = fullLayout . margin ;
1891
1892
1892
1893
var maxSpaceW = Math . max ( 0 , width - MIN_FINAL_WIDTH ) ;
1893
1894
var maxSpaceH = Math . max ( 0 , height - MIN_FINAL_HEIGHT ) ;
1894
1895
1895
1896
var pushMargin = fullLayout . _pushmargin ;
1896
1897
var pushMarginIds = fullLayout . _pushmarginIds ;
1897
1898
1898
- if ( fullLayout . margin . autoexpand !== false ) {
1899
+ if ( margin . autoexpand !== false ) {
1899
1900
if ( ! o ) {
1900
1901
delete pushMargin [ id ] ;
1901
1902
delete pushMarginIds [ id ] ;
1902
1903
} else {
1903
1904
var pad = o . pad ;
1904
1905
if ( pad === undefined ) {
1905
- var margin = fullLayout . margin ;
1906
1906
// if no explicit pad is given, use 12px unless there's a
1907
1907
// specified margin that's smaller than that
1908
1908
pad = Math . min ( 12 , margin . l , margin . r , margin . t , margin . b ) ;
1909
1909
}
1910
1910
1911
1911
// if the item is too big, just give it enough automargin to
1912
1912
// make sure you can still grab it and bring it back
1913
- var rW = ( o . l + o . r ) / maxSpaceW ;
1914
- if ( rW > 1 ) {
1915
- o . l /= rW ;
1916
- o . r /= rW ;
1913
+ if ( maxSpaceW ) {
1914
+ var rW = ( o . l + o . r ) / maxSpaceW ;
1915
+ if ( rW > 1 ) {
1916
+ o . l /= rW ;
1917
+ o . r /= rW ;
1918
+ }
1917
1919
}
1918
- var rH = ( o . t + o . b ) / maxSpaceH ;
1919
- if ( rH > 1 ) {
1920
- o . t /= rH ;
1921
- o . b /= rH ;
1920
+ if ( maxSpaceH ) {
1921
+ var rH = ( o . t + o . b ) / maxSpaceH ;
1922
+ if ( rH > 1 ) {
1923
+ o . t /= rH ;
1924
+ o . b /= rH ;
1925
+ }
1922
1926
}
1923
1927
1924
1928
var xl = o . xl !== undefined ? o . xl : o . x ;
@@ -1945,8 +1949,6 @@ plots.doAutoMargin = function(gd) {
1945
1949
var fullLayout = gd . _fullLayout ;
1946
1950
var width = fullLayout . width ;
1947
1951
var height = fullLayout . height ;
1948
- var maxSpaceW = Math . max ( 0 , width - MIN_FINAL_WIDTH ) ;
1949
- var maxSpaceH = Math . max ( 0 , height - MIN_FINAL_HEIGHT ) ;
1950
1952
1951
1953
if ( ! fullLayout . _size ) fullLayout . _size = { } ;
1952
1954
initMargins ( fullLayout ) ;
@@ -2019,16 +2021,23 @@ plots.doAutoMargin = function(gd) {
2019
2021
}
2020
2022
}
2021
2023
2022
- var rW = ( ml + mr ) / maxSpaceW ;
2023
- if ( rW > 1 ) {
2024
- ml /= rW ;
2025
- mr /= rW ;
2024
+ var maxSpaceW = Math . max ( 0 , width - MIN_FINAL_WIDTH ) ;
2025
+ var maxSpaceH = Math . max ( 0 , height - MIN_FINAL_HEIGHT ) ;
2026
+
2027
+ if ( maxSpaceW ) {
2028
+ var rW = ( ml + mr ) / maxSpaceW ;
2029
+ if ( rW > 1 ) {
2030
+ ml /= rW ;
2031
+ mr /= rW ;
2032
+ }
2026
2033
}
2027
2034
2028
- var rH = ( mb + mt ) / maxSpaceH ;
2029
- if ( rH > 1 ) {
2030
- mb /= rH ;
2031
- mt /= rH ;
2035
+ if ( maxSpaceH ) {
2036
+ var rH = ( mb + mt ) / maxSpaceH ;
2037
+ if ( rH > 1 ) {
2038
+ mb /= rH ;
2039
+ mt /= rH ;
2040
+ }
2032
2041
}
2033
2042
2034
2043
gs . l = Math . round ( ml ) ;
0 commit comments