@@ -42,7 +42,7 @@ def test_marginal_heatmap_uses_z_and_histfunc(backend):
4242 marginal_y = "heatmap" ,
4343 )
4444 assert len (fig .data ) == 3
45- marginal_x_trace , marginal_y_trace = fig .data [1 ], fig .data [2 ]
45+ main_trace , marginal_x_trace , marginal_y_trace = fig . data [ 0 ], fig .data [1 ], fig .data [2 ]
4646
4747 assert marginal_x_trace .type == "histogram2d"
4848 assert marginal_x_trace .coloraxis == "coloraxis"
@@ -64,14 +64,21 @@ def test_marginal_heatmap_uses_z_and_histfunc(backend):
6464
6565 assert fig .layout .coloraxis .colorbar .title .text == "sum of size"
6666
67+ # Ensure the x, y, and z data for the marginal heatmaps are consistent with the main heatmap
68+ assert (marginal_x_trace .x == main_trace .x ).all ()
69+ assert (marginal_x_trace .y == main_trace .y ).all ()
70+ assert (marginal_x_trace .z == main_trace .z ).all ()
71+ assert (marginal_y_trace .x == main_trace .x ).all ()
72+ assert (marginal_y_trace .y == main_trace .y ).all ()
73+ assert (marginal_y_trace .z == main_trace .z ).all ()
6774
6875def test_marginal_heatmap_without_z (backend ):
6976 df = px .data .tips (return_type = backend )
7077
7178 fig = px .density_heatmap (
7279 df , x = "total_bill" , y = "tip" , marginal_x = "heatmap" , marginal_y = "heatmap"
7380 )
74- marginal_x_trace , marginal_y_trace = fig .data [1 ], fig .data [2 ]
81+ main_trace , marginal_x_trace , marginal_y_trace = fig . data [ 0 ], fig .data [1 ], fig .data [2 ]
7582
7683 assert marginal_x_trace .type == "histogram2d"
7784 assert marginal_x_trace .coloraxis == "coloraxis"
@@ -83,6 +90,11 @@ def test_marginal_heatmap_without_z(backend):
8390
8491 assert fig .layout .coloraxis .colorbar .title .text == "count"
8592
93+ # Ensure the x and y data for the marginal heatmaps are consistent with the main heatmap
94+ assert (marginal_x_trace .x == main_trace .x ).all ()
95+ assert (marginal_x_trace .y == main_trace .y ).all ()
96+ assert (marginal_y_trace .x == main_trace .x ).all ()
97+ assert (marginal_y_trace .y == main_trace .y ).all ()
8698
8799@pytest .mark .parametrize ("text_auto" , [True , ".1f" ])
88100def test_marginal_heatmap_text_auto (backend , text_auto ):
0 commit comments