@@ -1828,115 +1828,127 @@ def test_secondary_y_traces(self):
1828
1828
self .assertEqual (fig .to_plotly_json (), expected .to_plotly_json ())
1829
1829
1830
1830
def test_secondary_y_subplots (self ):
1831
- fig = subplots .make_subplots (
1832
- rows = 2 ,
1833
- cols = 2 ,
1834
- specs = [
1835
- [{"secondary_y" : True }, {"secondary_y" : True }],
1836
- [{"secondary_y" : True }, {"secondary_y" : True }],
1837
- ],
1838
- )
1831
+ for shared_y_axes in [False , True ]:
1832
+ fig = subplots .make_subplots (
1833
+ rows = 2 ,
1834
+ cols = 2 ,
1835
+ shared_yaxes = shared_y_axes ,
1836
+ specs = [
1837
+ [{"secondary_y" : True }, {"secondary_y" : True }],
1838
+ [{"secondary_y" : True }, {"secondary_y" : True }],
1839
+ ],
1840
+ )
1839
1841
1840
- fig .add_scatter (y = [1 , 3 , 2 ], name = "First" , row = 1 , col = 1 )
1841
- fig .add_scatter (y = [2 , 1 , 3 ], name = "Second" , row = 1 , col = 1 , secondary_y = True )
1842
+ fig .add_scatter (y = [1 , 3 , 2 ], name = "First" , row = 1 , col = 1 )
1843
+ fig .add_scatter (y = [2 , 1 , 3 ], name = "Second" , row = 1 , col = 1 , secondary_y = True )
1842
1844
1843
- fig .add_scatter (y = [4 , 3 , 2 ], name = "Third" , row = 1 , col = 2 )
1844
- fig .add_scatter (y = [8 , 1 , 3 ], name = "Forth" , row = 1 , col = 2 , secondary_y = True )
1845
+ fig .add_scatter (y = [4 , 3 , 2 ], name = "Third" , row = 1 , col = 2 )
1846
+ fig .add_scatter (y = [8 , 1 , 3 ], name = "Forth" , row = 1 , col = 2 , secondary_y = True )
1845
1847
1846
- fig .add_scatter (y = [0 , 2 , 4 ], name = "Fifth" , row = 2 , col = 1 )
1847
- fig .add_scatter (y = [2 , 1 , 3 ], name = "Sixth" , row = 2 , col = 1 , secondary_y = True )
1848
+ fig .add_scatter (y = [0 , 2 , 4 ], name = "Fifth" , row = 2 , col = 1 )
1849
+ fig .add_scatter (y = [2 , 1 , 3 ], name = "Sixth" , row = 2 , col = 1 , secondary_y = True )
1848
1850
1849
- fig .add_scatter (y = [2 , 4 , 0 ], name = "Fifth" , row = 2 , col = 2 )
1850
- fig .add_scatter (y = [2 , 3 , 6 ], name = "Sixth" , row = 2 , col = 2 , secondary_y = True )
1851
+ fig .add_scatter (y = [2 , 4 , 0 ], name = "Fifth" , row = 2 , col = 2 )
1852
+ fig .add_scatter (y = [2 , 3 , 6 ], name = "Sixth" , row = 2 , col = 2 , secondary_y = True )
1851
1853
1852
- fig .update_traces (uid = None )
1854
+ fig .update_traces (uid = None )
1853
1855
1854
- expected = Figure (
1855
- {
1856
- "data" : [
1857
- {
1858
- "name" : "First" ,
1859
- "type" : "scatter" ,
1860
- "xaxis" : "x" ,
1861
- "y" : [1 , 3 , 2 ],
1862
- "yaxis" : "y" ,
1863
- },
1864
- {
1865
- "name" : "Second" ,
1866
- "type" : "scatter" ,
1867
- "xaxis" : "x" ,
1868
- "y" : [2 , 1 , 3 ],
1869
- "yaxis" : "y2" ,
1870
- },
1871
- {
1872
- "name" : "Third" ,
1873
- "type" : "scatter" ,
1874
- "xaxis" : "x2" ,
1875
- "y" : [4 , 3 , 2 ],
1876
- "yaxis" : "y3" ,
1877
- },
1878
- {
1879
- "name" : "Forth" ,
1880
- "type" : "scatter" ,
1881
- "xaxis" : "x2" ,
1882
- "y" : [8 , 1 , 3 ],
1883
- "yaxis" : "y4" ,
1884
- },
1885
- {
1886
- "name" : "Fifth" ,
1887
- "type" : "scatter" ,
1888
- "xaxis" : "x3" ,
1889
- "y" : [0 , 2 , 4 ],
1890
- "yaxis" : "y5" ,
1891
- },
1892
- {
1893
- "name" : "Sixth" ,
1894
- "type" : "scatter" ,
1895
- "xaxis" : "x3" ,
1896
- "y" : [2 , 1 , 3 ],
1897
- "yaxis" : "y6" ,
1898
- },
1899
- {
1900
- "name" : "Fifth" ,
1901
- "type" : "scatter" ,
1902
- "xaxis" : "x4" ,
1903
- "y" : [2 , 4 , 0 ],
1904
- "yaxis" : "y7" ,
1905
- },
1906
- {
1907
- "name" : "Sixth" ,
1908
- "type" : "scatter" ,
1909
- "xaxis" : "x4" ,
1910
- "y" : [2 , 3 , 6 ],
1911
- "yaxis" : "y8" ,
1912
- },
1913
- ],
1914
- "layout" : {
1915
- "xaxis" : {"anchor" : "y" , "domain" : [0.0 , 0.37 ]},
1916
- "xaxis2" : {
1917
- "anchor" : "y3" ,
1918
- "domain" : [0.5700000000000001 , 0.9400000000000001 ],
1919
- },
1920
- "xaxis3" : {"anchor" : "y5" , "domain" : [0.0 , 0.37 ]},
1921
- "xaxis4" : {
1922
- "anchor" : "y7" ,
1923
- "domain" : [0.5700000000000001 , 0.9400000000000001 ],
1856
+ expected = Figure (
1857
+ {
1858
+ "data" : [
1859
+ {
1860
+ "name" : "First" ,
1861
+ "type" : "scatter" ,
1862
+ "xaxis" : "x" ,
1863
+ "y" : [1 , 3 , 2 ],
1864
+ "yaxis" : "y" ,
1865
+ },
1866
+ {
1867
+ "name" : "Second" ,
1868
+ "type" : "scatter" ,
1869
+ "xaxis" : "x" ,
1870
+ "y" : [2 , 1 , 3 ],
1871
+ "yaxis" : "y2" ,
1872
+ },
1873
+ {
1874
+ "name" : "Third" ,
1875
+ "type" : "scatter" ,
1876
+ "xaxis" : "x2" ,
1877
+ "y" : [4 , 3 , 2 ],
1878
+ "yaxis" : "y3" ,
1879
+ },
1880
+ {
1881
+ "name" : "Forth" ,
1882
+ "type" : "scatter" ,
1883
+ "xaxis" : "x2" ,
1884
+ "y" : [8 , 1 , 3 ],
1885
+ "yaxis" : "y4" ,
1886
+ },
1887
+ {
1888
+ "name" : "Fifth" ,
1889
+ "type" : "scatter" ,
1890
+ "xaxis" : "x3" ,
1891
+ "y" : [0 , 2 , 4 ],
1892
+ "yaxis" : "y5" ,
1893
+ },
1894
+ {
1895
+ "name" : "Sixth" ,
1896
+ "type" : "scatter" ,
1897
+ "xaxis" : "x3" ,
1898
+ "y" : [2 , 1 , 3 ],
1899
+ "yaxis" : "y6" ,
1900
+ },
1901
+ {
1902
+ "name" : "Fifth" ,
1903
+ "type" : "scatter" ,
1904
+ "xaxis" : "x4" ,
1905
+ "y" : [2 , 4 , 0 ],
1906
+ "yaxis" : "y7" ,
1907
+ },
1908
+ {
1909
+ "name" : "Sixth" ,
1910
+ "type" : "scatter" ,
1911
+ "xaxis" : "x4" ,
1912
+ "y" : [2 , 3 , 6 ],
1913
+ "yaxis" : "y8" ,
1914
+ },
1915
+ ],
1916
+ "layout" : {
1917
+ "xaxis" : {"anchor" : "y" , "domain" : [0.0 , 0.37 ]},
1918
+ "xaxis2" : {
1919
+ "anchor" : "y3" ,
1920
+ "domain" : [0.5700000000000001 , 0.9400000000000001 ],
1921
+ },
1922
+ "xaxis3" : {"anchor" : "y5" , "domain" : [0.0 , 0.37 ]},
1923
+ "xaxis4" : {
1924
+ "anchor" : "y7" ,
1925
+ "domain" : [0.5700000000000001 , 0.9400000000000001 ],
1926
+ },
1927
+ "yaxis" : {"anchor" : "x" , "domain" : [0.575 , 1.0 ]},
1928
+ "yaxis2" : {"anchor" : "x" , "overlaying" : "y" , "side" : "right" },
1929
+ "yaxis3" : {"anchor" : "x2" , "domain" : [0.575 , 1.0 ]},
1930
+ "yaxis4" : {"anchor" : "x2" , "overlaying" : "y3" , "side" : "right" },
1931
+ "yaxis5" : {"anchor" : "x3" , "domain" : [0.0 , 0.425 ]},
1932
+ "yaxis6" : {"anchor" : "x3" , "overlaying" : "y5" , "side" : "right" },
1933
+ "yaxis7" : {"anchor" : "x4" , "domain" : [0.0 , 0.425 ]},
1934
+ "yaxis8" : {"anchor" : "x4" , "overlaying" : "y7" , "side" : "right" },
1924
1935
},
1925
- "yaxis" : {"anchor" : "x" , "domain" : [0.575 , 1.0 ]},
1926
- "yaxis2" : {"anchor" : "x" , "overlaying" : "y" , "side" : "right" },
1927
- "yaxis3" : {"anchor" : "x2" , "domain" : [0.575 , 1.0 ]},
1928
- "yaxis4" : {"anchor" : "x2" , "overlaying" : "y3" , "side" : "right" },
1929
- "yaxis5" : {"anchor" : "x3" , "domain" : [0.0 , 0.425 ]},
1930
- "yaxis6" : {"anchor" : "x3" , "overlaying" : "y5" , "side" : "right" },
1931
- "yaxis7" : {"anchor" : "x4" , "domain" : [0.0 , 0.425 ]},
1932
- "yaxis8" : {"anchor" : "x4" , "overlaying" : "y7" , "side" : "right" },
1933
- },
1934
- }
1935
- )
1936
+ }
1937
+ )
1936
1938
1937
- expected .update_traces (uid = None )
1939
+ if shared_y_axes :
1940
+ expected ["layout" ]["yaxis2" ]["matches" ] = "y4"
1941
+ expected ["layout" ]["yaxis2" ]["showticklabels" ] = False
1942
+ expected ["layout" ]["yaxis3" ]["matches" ] = "y"
1943
+ expected ["layout" ]["yaxis3" ]["showticklabels" ] = False
1944
+ expected ["layout" ]["yaxis6" ]["matches" ] = "y8"
1945
+ expected ["layout" ]["yaxis6" ]["showticklabels" ] = False
1946
+ expected ["layout" ]["yaxis7" ]["matches" ] = "y5"
1947
+ expected ["layout" ]["yaxis7" ]["showticklabels" ] = False
1938
1948
1939
- self .assertEqual (fig .to_plotly_json (), expected .to_plotly_json ())
1949
+ expected .update_traces (uid = None )
1950
+
1951
+ self .assertEqual (fig .to_plotly_json (), expected .to_plotly_json ())
1940
1952
1941
1953
def test_if_passed_figure (self ):
1942
1954
# assert it returns the same figure it was passed
0 commit comments